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

SPI Հաղորդակցության արձանագրության հիմունքները. 13 քայլ
SPI Հաղորդակցության արձանագրության հիմունքները. 13 քայլ

Video: SPI Հաղորդակցության արձանագրության հիմունքները. 13 քայլ

Video: SPI Հաղորդակցության արձանագրության հիմունքները. 13 քայլ
Video: Фея-лекарь: волшебное душевное состояние 2024, Նոյեմբեր
Anonim
SPI Հաղորդակցության արձանագրության հիմունքները
SPI Հաղորդակցության արձանագրության հիմունքները

Երբ միկրոկառավարիչը միացնում եք սենսորին, էկրանին կամ այլ մոդուլին, երբևէ մտածե՞լ եք այն մասին, թե ինչպես են երկու սարքերը խոսում միմյանց հետ: Կոնկրետ ի՞նչ են ասում: Ինչպե՞ս են նրանք կարողանում հասկանալ միմյանց:

Էլեկտրոնային սարքերի միջև հաղորդակցությունը նման է մարդկանց միջև հաղորդակցությանը: Երկու կողմերն էլ պետք է խոսեն նույն լեզվով: Էլեկտրոնիկայի մեջ այս լեզուները կոչվում են հաղորդակցության արձանագրություններ: Մեզ համար բարեբախտաբար, կան ընդամենը մի քանի հաղորդակցման արձանագրություններ, որոնք մենք պետք է իմանանք DIY էլեկտրոնիկայի նախագծերի մեծ մասը կառուցելիս: Այս հոդվածների շարքում մենք կքննարկենք երեք ամենատարածված արձանագրությունների հիմունքները `սերիալ ծայրամասային միջերես (SPI), ինտեգրված սխեմա (I2C) և ունիվերսալ ասինխրոն ընդունիչ/հաղորդիչ (UART) հաղորդակցություն: Նախ, մենք կսկսենք էլեկտրոնային հաղորդակցության վերաբերյալ որոշ հիմնական հասկացություններով, այնուհետև մանրամասն կբացատրենք, թե ինչպես է գործում SPI- ն: Հաջորդ հոդվածում մենք կքննարկենք UART- ով առաջնորդվող հաղորդակցությունը, իսկ երրորդ հոդվածում մենք կխորանանք I2C- ի մեջ: SPI, I2C և UART- ը բավականին դանդաղ են, քան USB- ի, ethernet- ի, Bluetooth- ի և WiFi- ի նման արձանագրությունները, բայց դրանք շատ ավելի պարզ են և օգտագործում են ավելի քիչ ապարատային և համակարգային ռեսուրսներ: SPI, I2C և UART- ը իդեալական են միկրոկոնտրոլերների և միկրոկոնտրոլերների և տվիչների միջև հաղորդակցության համար, որտեղ մեծ արագությամբ տվյալների փոխանցման կարիք չկա:

Քայլ 1: ՍԵՐԻԱԼ VS. ARՈARՈՎԱՎԱ ՀԱՐMMՈՄ

ՍԵՐԻԱ VS. ARՈ PՈՎԱՎԱ ՀԱՐMMՈՄ
ՍԵՐԻԱ VS. ARՈ PՈՎԱՎԱ ՀԱՐMMՈՄ

Էլեկտրոնային սարքերը միմյանց հետ խոսում են ՝ տվյալների բիթեր ուղարկելով սարքերի միջև ֆիզիկապես միացված լարերի միջոցով: Բիթը նման է բառի տառին, բացառությամբ 26 տառերի (անգլերեն այբուբենի), բիթը երկուական է և կարող է լինել միայն 1 կամ 0. Բիթերը մի սարքից մյուսը փոխանցվում են լարման արագ փոփոխության միջոցով: 5 Վ -ում աշխատող համակարգում 0 բիթը հաղորդվում է որպես 0 Վ կարճ իմպուլս, իսկ 1 բիթը հաղորդվում է 5 Վ կարճ լարման միջոցով:

Տվյալների բիթերը կարող են փոխանցվել ինչպես զուգահեռ, այնպես էլ սերիական տեսքով: Parallelուգահեռ հաղորդակցության ընթացքում տվյալների բիթերը ուղարկվում են բոլորը միաժամանակ, յուրաքանչյուրը առանձին լարով: Հետևյալ դիագրամը ցույց է տալիս «C» տառի զուգահեռ փոխանցումը երկուականով (01000011).

Քայլ 2:

Սերիական հաղորդակցության մեջ բիթերը մեկ առ մեկ ուղարկվում են մեկ մետաղալարով: Հետևյալ դիագրամը ցույց է տալիս «C» տառի սերիական փոխանցումը երկուականով (01000011).

Քայլ 3:

Պատկեր
Պատկեր

Քայլ 4. Ներածություն SPI ԿԱՊԻՆ

ՆԵՐԱՈԹՅՈՆ SPI ՀԱՐUNՈՄ
ՆԵՐԱՈԹՅՈՆ SPI ՀԱՐUNՈՄ

SPI- ն ընդհանուր կապի արձանագրություն է, որն օգտագործվում է բազմաթիվ տարբեր սարքերի կողմից: Օրինակ ՝ SD քարտի մոդուլները, RFID քարտերի ընթերցման մոդուլները և 2.4 ԳՀց անլար հաղորդիչը/ընդունիչներն օգտագործում են SPI միկրոկոնտրոլերների հետ հաղորդակցվելու համար:

SPI- ի մեկ եզակի առավելությունն այն է, որ տվյալները կարող են փոխանցվել առանց ընդհատումների: Numberանկացած քանակի բիթ կարող է ուղարկվել կամ ստացվել շարունակական հոսքով: I2C- ով և UART- ով տվյալները ուղարկվում են փաթեթներով ՝ սահմանափակված որոշակի քանակությամբ բիթերով: Սկսելու և դադարեցնելու պայմանները սահմանում են յուրաքանչյուր փաթեթի սկիզբը և վերջը, ուստի տվյալները ընդհատվում են փոխանցման ընթացքում: SPI- ի միջոցով հաղորդակցվող սարքերը գտնվում են վարպետ-ստրուկ հարաբերությունների մեջ: Վարպետը վերահսկիչ սարք է (սովորաբար միկրոկոնտրոլեր), իսկ ստրուկը (սովորաբար սենսոր, դիսփլեյ կամ հիշողության չիպ) հրահանգ է վերցնում վարպետից: SPI- ի ամենապարզ կազմաձևը մեկ վարպետ, մեկ ստրուկ համակարգ է, բայց մեկ վարպետ կարող է վերահսկել մեկից ավելի ստրուկներ (այս մասին ստորև):

Քայլ 5:

Պատկեր
Պատկեր

Քայլ 6:

MOSI (Master Output/Slave Input) - Տող, որպեսզի վարպետը տվյալներ ուղարկի ստրուկին:

MISO (Master Input/Slave Output) - Ստրուկի տող, որը տվյալներ է ուղարկում տիրոջը:

SCLK (ockամացույց) - Lineամացույցի ազդանշանի տող:

SS/CS (Slave Select/Chip Select) - տող ՝ վարպետի համար, որը պետք է ընտրի, թե որ ստրուկին է ուղարկվելու տվյալները

Քայլ 7:

Պատկեր
Պատկեր

*Գործնականում ստրուկների թիվը սահմանափակվում է համակարգի բեռնունակությամբ, ինչը նվազեցնում է վարպետի ՝ լարման մակարդակների միջև ճշգրիտ անցնելու ունակությունը:

Քայլ 8. Ինչպես է աշխատում SPI- ն

THEԱՄԱՈՅԸ

Theամացույցի ազդանշանը համաժամացնում է տվյալների բիթերի ելքը վարպետից մինչև ստրուկի կողմից բիթերի նմուշառում: Յուրաքանչյուր ժամացույցի ցիկլում փոխանցվում է մեկ բիթ տվյալ, ուստի տվյալների փոխանցման արագությունը որոշվում է ժամացույցի ազդանշանի հաճախականությամբ: SPI հաղորդակցությունը միշտ սկսվում է վարպետի կողմից, քանի որ վարպետը կարգավորում և արտադրում է ժամացույցի ազդանշանը:

Communicationանկացած հաղորդակցման արձանագրություն, որտեղ սարքերը կիսում են ժամացույցի ազդանշանը, հայտնի է որպես համաժամանակյա: SPI- ը համաժամանակյա հաղորդակցության արձանագրություն է: Կան նաև ասինքրոն մեթոդներ, որոնք չեն օգտագործում ժամացույցի ազդանշան: Օրինակ, UART հաղորդակցության մեջ երկու կողմերն էլ դրված են նախապես կազմաձևված բաուդ արագության վրա, որը թելադրում է տվյալների փոխանցման արագությունն ու ժամանակը:

Iամացույցի ազդանշանը SPI- ում կարող է փոփոխվել `օգտագործելով ժամացույցի բևեռականության և ժամացույցի փուլի հատկությունները: Այս երկու հատկությունները միասին աշխատում են ՝ որոշելու, թե երբ են բիթերը դուրս գալիս և երբ են դրանք նմուշառվում: Masterամացույցի բևեռականությունը կարող է սահմանվել վարպետի կողմից, որպեսզի թույլ տա բիթերի թողարկում և նմուշառում ժամացույցի ցիկլի բարձրացող կամ ընկնող եզրին: Ockամացույցի փուլը կարող է սահմանվել այնպես, որ ելքը և նմուշառումը տեղի ունենան ժամացույցի ցիկլի առաջին կամ երկրորդ եզրին ՝ անկախ նրանից այն բարձրանում կամ ընկնում է:

Ստրուկների ընտրություն

Վարպետը կարող է ընտրել, թե որ ստրուկի հետ է ուզում խոսել ՝ ստրուկի CS/SS գիծը ցածր լարման մակարդակի վրա դնելով: Պարապ, չփոխանցող վիճակում ստրուկի ընտրության գիծը պահվում է բարձր լարման մակարդակում: Վարորդի վրա կարող են հասանելի լինել բազմաթիվ CS/SS կապեր, ինչը թույլ է տալիս զուգահեռաբար միացնել բազմաթիվ ստրուկների: Եթե առկա է միայն մեկ CS/SS քորոց, մի քանի ստրուկներ կարող են միացվել վարպետին `երիցուկի շղթայով:

ԲԱTԻՆ ՍՏԼՎԱՆԵՐ SPI

կարող է ստեղծվել մեկ տիրոջ և մեկ ստրուկի հետ աշխատելու համար, և այն կարող է ստեղծվել մի քանի ստրուկներով, որոնք վերահսկվում են մեկ տիրոջ կողմից: Տիրոջը բազմաթիվ ստրուկներ միացնելու երկու եղանակ կա: Եթե վարպետն ունի բազմաթիվ ստրուկների ընտրված կապում, ստրուկները կարող են զուգահեռաբար զուգակցվել այսպես.

Քայլ 9:

Պատկեր
Պատկեր

Քայլ 10:

ՄՈՍԻ ԵՎ ՄԻՍՈ

Վարպետը ստրուկին տվյալներ է ուղարկում բիթ -բիթ, սերիական ՝ MOSI գծի միջոցով: Ստրուկը ստանում է վարպետից ուղարկված տվյալները MOSI կապում: Վարպետից ստրուկին ուղարկվող տվյալները սովորաբար առաջին հերթին ուղարկվում են ամենանշանակալից բիթով: Ստրուկը կարող է նաև տվյալներ հետ ուղարկել տիրոջը MISO տողի միջոցով ՝ սերիական եղանակով: Ստրուկից ետ դեպի տիրոջը ուղարկվող տվյալները սովորաբար առաջին հերթին ուղարկվում են նվազագույն նշանակալի բիթով: SPI ՏՎՅԱԼՆԵՐԻ ՓՈՓՈԽՈԹՅԱՆ ՔԱՅԼԵՐԸ 1. Վարպետը դուրս է բերում ժամացույցի ազդանշանը.

Քայլ 11:

Պատկեր
Պատկեր

Եթե առկա է միայն մեկ ստրուկի ընտրված քորոց, ստրուկներին կարելի է կապել շղթայված հետևյալ կերպ.

Քայլ 12:

Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր

ՄՈՍԻ ԵՎ ՄԻՍՈ

Վարպետը ստրուկին տվյալներ է ուղարկում բիթ -բիթ, սերիական ՝ MOSI գծի միջոցով: Ստրուկը ստանում է վարպետից ուղարկված տվյալները MOSI կապում: Վարպետից ստրուկին ուղարկվող տվյալները սովորաբար առաջին հերթին ուղարկվում են ամենանշանակալից բիթով:

Ստրուկը կարող է նաև տվյալները հետ ուղարկել տիրոջը MISO տողի միջոցով ՝ սերիական եղանակով: Տվյալները, որոնք ուղարկվում են ստրուկից ետ դեպի տիրոջը, սովորաբար առաջին հերթին ուղարկվում են նվազագույն էական բիթով:

SPI ՏՎՅԱԼՆԵՐԻ ՓՈՓՈԽՄԱՆ ՔԱՅԼԵՐ

*Նշում Պատկերները թվարկված են Oboe, որոնք հեշտությամբ կարող եք տարբերակել

1. Վարպետը դուրս է բերում ժամացույցի ազդանշանը.

2. Վարպետը SS/CS կապը միացնում է ցածր լարման վիճակին, որն ակտիվացնում է ստրուկը.

3. Վարպետը տվյալները մեկ առ մեկ ուղարկում է ստրուկին MOSI գծի երկայնքով: Ստրուկը կարդում է բիթերը, երբ դրանք ստացվում են.

4. Եթե պատասխանը անհրաժեշտ է, ստրուկը տվյալները մեկ առ մեկ վերադարձնում է վարպետին MISO գծի երկայնքով: Վարպետը կարդում է բիթերը, երբ դրանք ստացվում են.

Քայլ 13: SPI- ի առավելություններն ու թերությունները

SPI- ի օգտագործումն ունի որոշ առավելություններ և թերություններ, և եթե ընտրվում է տարբեր հաղորդակցման արձանագրությունների միջև ընտրություն, ապա պետք է իմանաք, թե երբ օգտագործել SPI- ն ՝ ձեր նախագծի պահանջներին համապատասխան.

Առավելությունները

Սկսելու և դադարեցնելու բիթեր, այնպես որ տվյալները կարող են անընդհատ հոսել առանց ընդհատումների: Ոչ մի ստրուկի հասցեավորման համակարգ, ինչպիսին է I2C- ը, տվյալների փոխանցման ավելի բարձր արագություն, քան I2C- ն (գրեթե երկու անգամ ավելի արագ) Առանձին MISO և MOSI տողեր, այնպես որ տվյալները կարող են ուղարկվել և ստացվել միաժամանակ ժամանակը

Թերություններ

Օգտագործում է չորս լար (I2C- ն և UART- ը օգտագործում են երկուսը) Ոչ մի հաստատում, որ տվյալները հաջողությամբ ստացվել են (I2C- ն ունի սա) UART- ի պարիտետային բիտերի նման սխալների ստուգման ձև թույլ չի տալիս միայն մեկ վարպետ: Հուսով եմ, որ այս հոդվածը ձեզ ավելի լավ հասկանալու հնարավորություն տվեց: SPI- ի: Շարունակեք այս շարքի երկրորդ մասը ՝ UART- ով պայմանավորված հաղորդակցության մասին սովորելու համար, կամ երրորդ մասը, որտեղ մենք քննարկում ենք I2C արձանագրությունը:

Եթե ունեք որևէ հարց, խնդրում ենք այն ուղղել մեկնաբանությունների բաժնում, մենք այստեղ ենք օգնելու: Եվ անպայման հետևեք

Հարգանքներով ՝ M. Junaid

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