Բովանդակություն:
- Քայլ 1. Ինչ է I²C- ը և ինչու է այն մեզ դուր գալիս
- Քայլ 2: Եկեք ավելի սերտ նայենք
- Քայլ 3: I²C և ZIO
- Քայլ 4: Որքա՞ն է մալուխի առավելագույն երկարությունը:
- Քայլ 5. Ինչպե՞ս միացնել բազմաթիվ սարքեր նույն ավտոբուսում:
- Քայլ 6. Ի՞նչ է I2C դադարեցումը:
Video: Ներկայացնում եմ I2C- ը Zio մոդուլներով և Qwiic- ով ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Ռոբին Շարման ասաց. «Dailyամանակի ընթացքում ամենօրյա փոքր բարելավումները հանգեցնում են ցնցող արդյունքների»: Դուք կարող եք մտածել. «Օ Aw, ևս մեկ I2C գրառում»: Դե, անշուշտ, հազարավոր տեղեկություններ կան, երբ խոսքը վերաբերում է I2C- ին: Բայց հետևեք, սա պարզապես հերթական I2C հոդվածը չէ: Qwiic Connect System- ը և Zio- ի ծայրամասային բեկումնային տախտակները, անկասկած, I²C խաղ փոխողն են:
Ներածություն
Եթե դուք կառուցում եք էլեկտրոնային նախագծեր և անում հիանալի գործեր, գուցե գիտակցեիք, որ երբ ձեր նախագծերը մեծանում են, ձեր տախտակը սկսում է օձի փոսի տեսք ունենալ (մի փոքր խառնաշփոթ չէ՞):
Բացի այդ, եթե ունեք բազմաթիվ նախագծեր, դուք ժամանակ եք ծախսում ՝ նախագծից նախագիծ լարերը փոխելու համար:
Մենք ստեղծողներ ենք, ուստի հասկանում ենք պայքարը: Մեր վերջին ներդրումը OHS համայնքին մի մոդուլային նախատիպային համակարգ է, որը կոչվում է ZIO ՝ ընդունելով Qwiic միացման համակարգ: Qwiic- ը ծրագրավորվող տպատախտակին I convenientC- ի միջոցով սենսորներին, շարժիչներին և ճեղքման տախտակներին հաղորդակցելու շատ հարմար միջոց է:
Քայլ 1. Ինչ է I²C- ը և ինչու է այն մեզ դուր գալիս
I²C- ն ամենաընդունված բազմավաստակ ավտոբուսն է, ինչը նշանակում է, որ տարբեր չիպեր կարող են միացվել նույն ավտոբուսին: Այն օգտագործվում է բազմաթիվ ծրագրերում `վարպետի և ստրուկի կամ բազմաթիվ վարպետի և ստրուկի սարքերի միջև: Միկրոկառավարիչներից, մինչև սմարթֆոններ, արդյունաբերական ծրագրեր, հատկապես համակարգչային մոնիտորների նման տեսա սարքերի համար: Այն կարող է հեշտությամբ իրականացվել բազմաթիվ էլեկտրոնային ձևավորումներում (իսկ վերջերս նույնիսկ ավելի հեշտ ՝ Qwiic միակցիչով):
Եթե մենք ստիպված լինենք I²C- ն բնութագրել երկու բառով, հավանաբար կօգտագործենք պարզությունն ու ճկունությունը:
Հաղորդակցության այլ արձանագրությունների նկատմամբ I²C- ի ամենամեծ առավելություններից մեկն այն է, որ դա երկու մետաղալար ինտերֆեյս է, ինչը նշանակում է, որ նրան անհրաժեշտ են միայն երկու ազդանշանային լարեր `SDA (Serial Data Line) և SCL (Serial Clock Line): Հնարավոր է, որ դա ամենաարագ արձանագրությունը չլինի, բայց հայտնի է շատ ճկուն լինելու համար, ինչը թույլ է տալիս ճկունություն ապահովել ավտոբուսի լարման մեջ:
Մեկ այլ նշանակալի առանձնահատկություն, որը գրավիչ է դարձնում այս ավտոբուսը, տիրոջ և ստրուկի միջև ընկերակցությունն է: Մի քանի ավտոբուս կարող են միացվել միևնույն ավտոբուսին, և կարիք չկա փոխել սարքերի միջև լարերը, քանի որ յուրաքանչյուր սարք ունի յուրահատուկ հասցե (վարպետը ընտրում է սարքը հաղորդակցության համար):
Քայլ 2: Եկեք ավելի սերտ նայենք
Այսպիսով, ինչպես է աշխատում I²C- ը: Ավելի վաղ մենք նշել էինք, որ ամենակարևոր առանձնահատկություններից մեկը լարման թույլատրելիությունն է, դա հնարավոր է, քանի որ I²C- ն օգտագործում է բաց կոլեկտոր (նաև հայտնի է որպես բաց արտահոսք) ինչպես SDA, այնպես էլ SCL հաղորդակցության գծերի համար:
SCL- ը ժամացույցի ազդանշան է, համաժամացնում է տվյալների փոխանցումը I²C ավտոբուսի սարքերի միջև և այն գեներացվում է վարպետի կողմից: Մինչ SDA- ն տանում է տվյալները ուղարկելու կամ ստանալու տվիչներից կամ ավտոբուսին միացած այլ սարքերից:
Ազդանշանի ելքը միացված է գետնին, այսինքն ՝ յուրաքանչյուր սարք պարտադրված է ցածր: Ազդանշանը բարձր մակարդակի վերականգնելու համար երկու տողերն էլ միացված են դրական մատակարարման լարման `ձգվող դիմադրության միջոցով, որը պետք է դադարեցվի:
ZIO մոդուլների շնորհիվ մենք ձեզ ծածկեցինք, մեր բոլոր ճեղքման տախտակները ներառում են անհրաժեշտ ձգման դիմադրություն:
I²C- ն հետևում է հաղորդագրության արձանագրությանը `վարպետին ստրուկ սարքերի հետ հաղորդակցվելու համար: Երկու տողը (SCL և SDA) ընդհանուր են I²C բոլոր ստրուկների մեջ, ավտոբուսում գտնվող բոլոր ստրուկները լսում են հաղորդագրությունը:
Հաղորդագրության արձանագրությունը հետևում է կցված պատկերում ցուցադրված ձևաչափին.
Առաջին հայացքից այն կարող է բարդ թվալ, բայց մենք մի փոքր լավ նորություն ունենք: Arduino IDE- ից օգտվելիս կա գրադարան Wire.h ՝ I²C հաղորդագրության արձանագրության բոլոր կարգավորումները պարզեցնելու համար:
Մեկնարկային պայմանը ստեղծվում է, երբ տվյալների գիծը (SDA) ցածր է ընկնում, իսկ ժամացույցի գիծը (SCL) դեռ բարձր է: Arduino ինտերֆեյսի վրա նախագիծ ստեղծելիս մենք իսկապես կարիք չունենք անհանգստանալու սկզբնական պայմանի ստեղծման մասին, այն կսկսվի հատուկ գործառույթով (Wire.beginTransmission (slaveAddress)):
Բացի այդ, այս գործառույթը նաև սկսում է փոխանցումը հատուկ ստրուկի հասցեով: Ընդհանուր ավտոբուսում հաղորդակցվելու ստրուկին ընտրելու համար վարպետը փոխանցում է ստրուկին հասցեն հաղորդակցվելու համար: Այն բանից հետո, երբ հասցեն կհաստատվի համապատասխան ստրուկին հաղորդակցվելու համար, դե հաղորդագրությունը հաջորդում է կամ կարդալու կամ գրելու բիթով `կախված ընտրված ռեժիմից:
Աղցանը տալիս է պատասխանը հաստատումով (ACK կամ NACK), իսկ ավտոբուսի ստրուկի այլ սարքերը զեղչում են մնացած տվյալները մինչև հաղորդագրության ամբողջական լինելը և ավտոբուսը անվճար: ACK- ից հետո ստրուկների ներքին հասցեագրման ռեգիստրի հաջորդականությունը շարունակում է փոխանցումը:
Երբ տվյալները ուղարկվում են, փոխանցման հաղորդագրությունն ավարտվում է կանգառի պայմանով: Հաղորդումը դադարեցնելու համար տվյալների գիծը փոխվում է բարձրի, իսկ ժամացույցի գիծը մնում է բարձր:
Քայլ 3: I²C և ZIO
Մենք պարզեցինք, որ ամենալավն այն է, որ վերոնշյալ բոլոր տեղեկությունները պլանավորեմ վարպետի (մերկ Zուինո, մեր միկրո) և ստրուկների (հայտնի է որպես ZIO ճեղքման տախտակներ) զրույցի ընթացքում:
Այս հիմնական օրինակում մենք օգտագործում ենք ZIO TOF հեռավորության սենսորը և ZIO OLED էկրանը: TOF- ն տալիս է հեռավորության մասին տեղեկատվությունը, մինչ ZIO Oled- ը ցուցադրում է տվյալները: Օգտագործված բաղադրիչներն ու սարքերը.
- ZUINO M UNO - վարպետ
- ZIO OLED էկրան - Slave_01
- ZIO TOF Հեռավորության ցուցիչ - Ստրուկ_02
- Qwiic Cable - Հեշտ միացում I²C սարքերի համար
Ահա թե որքան հեշտ է տախտակները միմյանց միացնել Qwiic- ի միջոցով, առանց տախտակի անհրաժեշտության, լրացուցիչ մալուխների տեղադրման կամ ZUINO կապում: ZUINO- ի սերիական ժամացույցի և տվյալների գիծը ինքնաբերաբար միացված է Հեռավորության ցուցիչին և OLED- ին ՝ օգտագործելով Qwiic միակցիչը: Երկու այլ մալուխներ են 3V3 և GND:
Նախ, եկեք նայենք անհրաժեշտ տեղեկատվությանը, տիրոջը ստրուկների հետ հաղորդակցվելու համար մեզ անհրաժեշտ կլինի իմանալ եզակի հասցեները:
Սարքը ՝ ZIO Հեռավորության ցուցիչ
- Մասի համարը `RFD77402
- I2C Հասցե ՝ 0x4C
- Տվյալների թերթիկի հղում
Սարքը ՝ ZIO OLED էկրան
- Մասի համարը `SSD1306
- Հասցե ՝ 0x3C
- Տվյալների թերթիկի հղում
Ստրուկ սարքերի համար եզակի հասցե գտնելու համար բացեք տրամադրված տվյալների թերթիկը: Հեռավորության տվիչի համար հասցեն նշված է Մոդուլի միջերեսի բաժնում: Յուրաքանչյուր սենսոր կամ բաղադրիչ ունի տարբեր տվյալների թերթ ՝ տրամադրված տարբեր տեղեկություններով: Երբեմն կարող է դժվար լինել այն գտնել 30 էջանոց տվյալների թերթիկում (ակնարկ. Բացեք գտնելու գործիքը PDF դիտիչի վրա և արագ որոնման համար մուտքագրեք «հասցե» կամ «սարքի ID»):
Այժմ, երբ յուրաքանչյուր սարքի յուրահատուկ հասցեն հայտնի է, տվյալները կարդալու/ գրելու համար ներքին ռեգիստրի հասցեն պետք է նույնականացվի (նաև տվյալների թերթից): Նայելով ZIO Distance սենսորի տվյալների թերթին ՝ հեռավորությունը ստանալու հասցեն համապատասխանում է 0x7FF- ին:
Կոնկրետ այս դեպքում մենք իսկապես կարիք չունենք սենսորից օգտվելու համար այս տեղեկատվության, ինչպես դա արդեն անում է գրադարանը:
Հաջորդ քայլը ՝ հանձնեք կոդը: ZUINO M UNO- ն համատեղելի է Arduino IDE- ի հետ, ինչը շատ ավելի հեշտացնում է կարգավորումը: Այս նախագծի համար անհրաժեշտ գրադարաններն են.
- Հաղորդալար. Ժ
- Adafruit_GFX.h
- Adafruit_SSD1306.h
- SparkFun_RFD77402_Arduino_Library.h
Wire.h- ն arduino գրադարան է, Adafruit- ի երկու գրադարանները օգտագործվում են OLED- ի համար, իսկ վերջինը `Distance սենսորի համար: Ստուգեք այս ձեռնարկը, թե ինչպես կապել *.zip գրադարանները Arduino IDE- ին:
Նայելով ծածկագրին ՝ նախ պետք է հայտարարվեն գրադարանները, ինչպես նաև OLED- ի հասցեն:
Ստեղծման մեջ () փոխանցումը սկսվում է, և տեքստը ցուցադրվում է հեռավորության սենսորի գործառույթի համար:
Օղակը () չափումներ է կատարում հեռավորության վրա և OLED- ը տպում է այն:
Ստուգեք github հղման աղբյուրի կոդը:
Երկու ճեղքման տախտակները օգտագործելը բավականին հեշտ է բոլոր առումներով: Սարքավորման կողմից Qwiic միակցիչն ապարատային կարգավորումն ավելի արագ և շատ ավելի խառնաշփոթ է դարձնում, քան հացահատիկի և ցատկող լարեր ունենալը: Իսկ որոնվածի համար, օգտագործելով համապատասխան գրադարանները I2C հաղորդակցության համար, սենսորը և էկրանը ծածկագիրը շատ ավելի պարզ են դարձնում:
Քայլ 4: Որքա՞ն է մալուխի առավելագույն երկարությունը:
Առավելագույն երկարությունը կախված է SDA- ի և SCL- ի համար օգտագործվող ձգվող ռեզիստորներից և մալուխի հզորությունից: Ռեզիստորները որոշում են նաև ավտոբուսի արագությունը, որքան ցածր է ավտոբուսի արագությունը, այնքան երկար է մալուխի սահմանը: Մալուխի հզորությունը սահմանափակում է ավտոբուսում գտնվող սարքերի քանակը, ինչպես նաև մալուխի երկարությունը: Տիպիկ ծրագրերը սահմանափակում են մետաղալարերի երկարությունը մինչև 2.5-3.5 մ (9-12 ֆուտ), բայց կան տատանումներ `կախված օգտագործվող մալուխից: Որպես տեղեկանք, I2C ծրագրերի առավելագույն երկարությունը `պաշտպանված 22 AWG ոլորված զույգ մալուխների միջոցով, կազմում է մոտ 1 մ (3 ֆտ) 100 կբաունդ, 10 մ (30 ֆտ) 10 կբաուդում:
Կան որոշ կայքեր, ինչպիսիք են մոգամին կամ WolframAlpha- ն, որոնք թույլ են տալիս գնահատել մալուխի երկարությունը:
Քայլ 5. Ինչպե՞ս միացնել բազմաթիվ սարքեր նույն ավտոբուսում:
I2C- ը սերիական ավտոբուս է, որտեղ բոլոր սարքերը միացված են ընդհանուր ավտոբուսին: Qwiic միակցիչով տարբեր ճեղքման տախտակները կարող են իրար միացվել Qwiic միակցիչի միջոցով: Յուրաքանչյուր տախտակ ունի առնվազն 2 Qwiic միակցիչ:
Մենք ստեղծեցինք տարբեր տախտակներ ՝ Qwiic և I2C որոշ սահմանափակումներ լուծելու համար: Zio Qwiic ադապտերային տախտակն օգտագործվում է առանց Qwiic միակցիչի Qwiic սարքերի միջոցով միանալու համար ՝ Qwiic- ի միջոցով արկղի արական վերնագրի մալուխի միջոցով: Այս պարզ հնարքը անսահմանափակ հնարավորություններ է ստեղծում:
Ավտոբուսի կամ ծառի ցանցի տարբեր սարքեր միացնելու համար մենք եկանք Zio Qwiic Hub- ի հետ:
Վերջին, բայց ոչ ամենակարևորը, Zio Qwiic MUX- ը թույլ է տալիս միացնել երկու կամ ավելի սարքեր ՝ օգտագործելով նույն հասցեն:
Քայլ 6. Ի՞նչ է I2C դադարեցումը:
I2C- ն պահանջվում է դադարեցնել, այնպես որ գիծը ազատ է այլ սարքեր ավելացնելու համար: Սա կարող է մի փոքր շփոթեցուցիչ լինել, քանի որ դադարեցման տերմինը սովորաբար օգտագործվում է ավտոբուսի ձգվող դիմադրիչները նկարագրելու համար (կանխադրված վիճակ ապահովելու համար, այս դեպքում `հոսանքին միացում հաղորդելու համար): Zuino տախտակների համար դիմադրության արժեքը 4.7kΩ է:
Եթե դադարեցումը բաց թողնվի, ավտոբուսում ընդհանրապես կապ չի լինի. Վարպետը չի կարողանա ստեղծել սկզբնական պայմանը, այնպես որ հաղորդագրությունը չի փոխանցվի ստրուկներին:
Լրացուցիչ տեղեկությունների և Zio- ի հնարավորությունների համար ստուգեք Zio- ի վերջին արտադրանքը: Այս հոդվածի նպատակն է բացատրել I²C հաղորդակցության հիմունքները և ինչպես է այն աշխատում Zio և Qwiic միակցիչի հետ: Շարունակեք հետևել ավելի շատ թարմացումներին:
Խորհուրդ ենք տալիս:
DIY Walkie-Talkie ընդհանուր 433 ՄՀց ՌԴ մոդուլներով ՝ 4 քայլ
DIY Walkie-Talkie ընդհանուր 433 ՄՀց ՌԴ մոդուլներով. Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես օգտագործել ընդհանուր 433 ՄՀց ՌԴ մոդուլներ Ebay- ից ՝ գործառական Walkie-Talkie ստեղծելու համար: Դա նշանակում է, որ մենք կհամեմատենք տարբեր ՌԴ մոդուլներ, մի քիչ կսովորենք դասի d ուժեղացուցիչի մասին և վերջապես կկառուցենք Walkie-Talkie- ն:
Կառավարեք ռոբոտացված ձեռքը Zio մոդուլներով Մաս 1: 8 քայլեր
Կառավարեք ռոբոտային ձեռքը Zio մոդուլներով Մաս 1. Այս բլոգային գրառումը Zio Robotics շարքի մի մասն է: Ներածություն Այս ձեռնարկում մենք կկառուցենք նախագիծ, որտեղ մենք կօգտագործենք Zio մոդուլները ՝ վերահսկելու Robotic Arm- ը: Այս նախագիծը կսովորեցնի ձեզ, թե ինչպես անել, որ ձեր Robotic Arm ճանկը բացվի և փակվի: Այս ն
Ներկայացնում ենք LoRa ™! - ն ՝ 19 քայլ
Ներկայացնում ենք LoRa ™!: LoRa ™ = Երկար հեռավորության անլար տվյալների հեռաչափություն և վերաբերում է վերջերս մշակված արմատական VHF/UHF երկկողմանի անլար տարածման տվյալների սպեկտրի մոդուլյացիայի մոտեցմանը: ապրանքանշան (™) Semtech- ի կողմից - երկարաժամկետ հաստատված (1960) ԱՄՆ բազմազգ ընտրյալ
Ներկայացնում ենք «Deodorino» - ինֆրակարմիր վերահսկվող Arduino- ն դատարկ դեզոդորանտ ձողիկով: Կտտացրեք 1 -ին լուսանկարին ՝ 7 քայլ
Ներկայացնում ենք «Deodorino» - ինֆրակարմիր վերահսկվող Arduino- ն դատարկ դեզոդորանտ ձողիկով: Կտտացրեք 1 -ին լուսանկարին. Այժմ մանրամասն
Գաղտնագրեք ձեր անձնական տվյալները .. Ներկայացնում ենք Truecrypt !: 8 քայլ
Գաղտնագրեք ձեր անձնական տվյալները .. Ներկայացնելով Truecrypt- ը: Դե, գուցե ձեզ հետաքրքրում է, թե ինչ դժոխք է Truecrypt- ը: Դե, Truecrypt- ը ծրագիր է, որը թույլ է տալիս ծածկագրել բազմաթիվ տվյալներ, և դա չափազանց հեշտ է անել: Ուրեմն հետևեք: Գաղտնագրման մեթոդները ներառում են AES-256, Serpent և Twofish (համակցված