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

UART Հաղորդակցության հիմունքները. 16 քայլ
UART Հաղորդակցության հիմունքները. 16 քայլ

Video: UART Հաղորդակցության հիմունքները. 16 քայլ

Video: UART Հաղորդակցության հիմունքները. 16 քայլ
Video: #16 DT 06 WIFI Android Modbus HMI | Outseal Arduino PLC 2024, Նոյեմբեր
Anonim
UART Հաղորդակցության հիմունքները
UART Հաղորդակցության հիմունքները

Հիշու՞մ եք, երբ տպիչները, մկները և մոդեմներն ունեին հաստ մալուխներ այդ հսկայական խճճված միակցիչներով: Նրանք, ովքեր բառացիորեն պետք է պտուտակվեին ձեր համակարգչի՞ն: Այդ սարքերը, հավանաբար, օգտագործում էին UART- եր ՝ ձեր համակարգչի հետ հաղորդակցվելու համար: Մինչ USB- ը գրեթե ամբողջությամբ փոխարինել է այդ հին մալուխներն ու միակցիչները, UART- ները հաստատ անցյալ չեն: Դուք կգտնեք UART- եր, որոնք օգտագործվում են DIY էլեկտրոնիկայի նախագծերում ՝ GPS մոդուլներ, Bluetooth մոդուլներ և RFID քարտերի ընթերցող մոդուլներ ձեր Raspberry Pi, Arduino կամ այլ միկրոկոնտրոլերներին միացնելու համար:

UART- ը նշանակում է ունիվերսալ ասինխրոն ընդունիչ/հաղորդիչ: Դա ոչ թե SPI- ի և I2C- ի նման հաղորդակցության արձանագրություն է, այլ միկրոկոնտրոլերի ֆիզիկական միացում կամ առանձին IC: UART- ի հիմնական նպատակն է փոխանցել և ստանալ սերիական տվյալներ:

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

Քայլ 1. ՆԵՐԱՈԹՅՈՆ UART Հաղորդակցության մեջ

UART հաղորդակցության մեջ երկու UART- ը անմիջականորեն շփվում են միմյանց հետ: Հաղորդող UART- ը զուգահեռ տվյալները CPU- ի նման վերահսկիչ սարքից փոխակերպում է սերիական ձևի, այն սերիայով փոխանցում է ընդունող UART- ին, որն այնուհետև սերիական տվյալները վերափոխում է ընդունող սարքի զուգահեռ տվյալների: Երկու UART- ի միջև տվյալները փոխանցելու համար անհրաժեշտ է ընդամենը երկու լար: Տվյալները հոսում են փոխանցող UART- ի Tx կապից դեպի ընդունող UART- ի Rx քորոց.

Քայլ 2. Տվյալները հոսում են փոխանցող UART- ի Tx Pin- ից դեպի ընդունող UART- ի Rx Pin:

Տվյալները հոսում են փոխանցող UART- ի Tx Pin- ից դեպի ընդունող UART- ի Rx pin
Տվյալները հոսում են փոխանցող UART- ի Tx Pin- ից դեպի ընդունող UART- ի Rx pin

Քայլ 3:

UART- ները տվյալները փոխանցում են ասինքրոն, ինչը նշանակում է, որ չկա ժամացույցի ազդանշան, որը համաժամեցնի բիթերի ելքը փոխանցող UART- ից մինչև ընդունող UART- ի կողմից բիթերի նմուշառում: Aամացույցի ազդանշանի փոխարեն փոխանցող UART- ը փոխանցվող տվյալների փաթեթին ավելացնում է start և stop բիթեր: Այս բիթերը սահմանում են տվյալների փաթեթի սկիզբը և վերջը, որպեսզի ստացող UART- ը իմանա, թե երբ սկսել բիթերի ընթերցումը:

Երբ ընդունող UART- ը հայտնաբերում է սկզբնական բիթ, այն սկսում է կարդալ մուտքային բիթերը որոշակի հաճախականությամբ, որը հայտնի է որպես baud rate: Baud փոխարժեքը տվյալների փոխանցման արագության չափիչ է, արտահայտված բիթ / վրկ -ով (bps): Երկու UART- երը պետք է գործեն մոտավորապես նույն բաուդ արագությամբ: Փոխանցող և ընդունող UART- ների միջև բաուդի արագությունը կարող է տարբերվել միայն մոտ 10% -ով ՝ նախքան բիթերի ժամանակի չափազանց հեռու լինելը:

Քայլ 4:

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

Երկու UART- երը նույնպես պետք է կազմաձևված լինեն ՝ փոխանցելու և ստանալու նույն տվյալների փաթեթների կառուցվածքը:

Քայլ 5. Ինչպես է աշխատում UART- ը

UART- ը, որը պատրաստվում է փոխանցել տվյալներ, ստանում է տվյալները տվյալների ավտոբուսից: Տվյալների ավտոբուսը օգտագործվում է տվյալներ UART ուղարկելու համար մեկ այլ սարքի միջոցով, ինչպիսին է պրոցեսորը, հիշողությունը կամ միկրոկոնտրոլերը: Տվյալները տվյալների ավտոբուսից փոխանցվում են փոխանցող UART- ին զուգահեռ ձևով: Այն բանից հետո, երբ փոխանցող UART- ը ստանում է տվյալների ավտոբուսից զուգահեռ տվյալներ, այն ավելացնում է սկզբնական բիթ, պարիտետային բիթ և կանգառ բիթ ՝ ստեղծելով տվյալների փաթեթ: Հաջորդը, տվյալների փաթեթը թողարկվում է սերիականորեն, բիտ -բիթ Tx կապում: Ստացող UART- ը տվյալների փաթեթը քիչ -քիչ կարդում է իր Rx կապում: Ստացող UART- ն այնուհետև տվյալները վերադառնում է զուգահեռ ձևի և հեռացնում սկզբնական բիթը, հավասարության բիթը և կանգառի բիթերը: Վերջապես, ընդունող UART- ը փոխանցում է տվյալների փաթեթը ստացողի վերջում գտնվող տվյալների ավտոբուսին զուգահեռ.

Քայլ 6. Պատկեր, թե ինչպես է աշխատում UART- ը

Image Ինչպես է աշխատում UART- ը
Image Ինչպես է աշխատում UART- ը

Քայլ 7:

UART- ի փոխանցած տվյալները կազմակերպվում են փաթեթների մեջ: Յուրաքանչյուր փաթեթ պարունակում է 1 սկզբնական բիթ, 5 -ից 9 տվյալների բիթ (կախված UART- ից), ընտրովի պարիտետային բիթ և 1 կամ 2 կանգառի բիթ:

Քայլ 8. UART փոխանցվող տվյալները կազմակերպվում են փաթեթների պատկերի մեջ

UART փոխանցվող տվյալները կազմակերպվում են փաթեթների պատկերի մեջ
UART փոխանցվող տվյալները կազմակերպվում են փաթեթների պատկերի մեջ

Քայլ 9:

ՍԿՍԵԼ ԲԻՏ

UART տվյալների փոխանցման գիծը սովորաբար պահվում է բարձր լարման մակարդակի վրա, երբ այն տվյալներ չի փոխանցում: Տվյալների փոխանցումը սկսելու համար հաղորդիչ UART- ը մեկ ժամացույցի ցիկլով բարձրից ցածր է ձգում հաղորդման գիծը: Երբ ընդունող UART- ը հայտնաբերում է բարձրից ցածր լարման անցում, այն սկսում է կարդալ տվյալների շրջանակի բիթերը բաուդ արագության հաճախականությամբ:

ՏՎՅԱԼՆԵՐԻ Շրջանակ

Տվյալների շրջանակը պարունակում է փոխանցվող իրական տվյալները: Այն կարող է լինել 5 բիթից մինչև 8 բիթ երկարություն, եթե օգտագործվում է պարիտետային բիթ: Եթե պարիտետային բիթ չի օգտագործվում, տվյալների շրջանակը կարող է լինել 9 բիթ երկարություն: Շատ դեպքերում տվյալները նախ ուղարկվում են ամենաքիչ նշանակալի բիթով:

ՀԱՍՏԱՏՈԹՅՈՆ

Պարիտետը նկարագրում է թվի հավասարությունը կամ տարօրինակությունը: Պարիտետային բիթը ստացող UART- ի համար միջոց է `փոխանցման ընթացքում որևէ տվյալ փոխված լինելու մասին: Բիթերը կարող են փոխվել էլեկտրամագնիսական ճառագայթման, բաուդի անհամապատասխան արագությունների կամ հեռավոր տվյալների փոխանցման միջոցով: Այն բանից հետո, երբ ստացող UART- ը կարդում է տվյալների շրջանակը, այն հաշվում է 1 արժեք ունեցող բիթերի քանակը և ստուգում է, որ ընդհանուրը զույգ կամ կենտ թիվ է: Եթե պարիտետային բիթը 0 է (զույգ հավասարություն), տվյալների շրջանակի 1 բիթը պետք է հասնի զույգ թվին: Եթե պարիտետային բիթը 1 է (կենտ պարիտետ), տվյալների շրջանակի 1 բիթը պետք է հասնի կենտ թվի: Երբ պարիտետային բիթը համընկնում է տվյալների հետ, UART- ը գիտի, որ փոխանցումը զերծ է սխալներից: Բայց եթե հավասարության բիթը 0 է, իսկ ընդհանուրը ՝ կենտ; կամ պարիտետային բիթը 1 է, իսկ ընդհանուրը հավասար է, UART- ը գիտի, որ տվյալների շրջանակի բիթերը փոխվել են:

ԿԱՆԳՆԵԼ ԿԵՏԵՐԸ

o ազդանշան տուփի ավարտի մասին, ուղարկող UART- ը տվյալների փոխանցման գիծը ցածր լարումից բարձր լարման է տանում առնվազն երկու բիթ տևողությամբ:

Քայլ 10. UART փոխանցման քայլեր

1. Հաղորդող UART- ը զուգահեռաբար տվյալներ է ստանում տվյալների ավտոբուսից.

Քայլ 11. Պատկերը փոխանցող UART- ը տվյալներ է ստանում զուգահեռ տվյալների տողից

Պատկերի փոխանցող UART- ը տվյալներ է ստանում տվյալների տողից զուգահեռ
Պատկերի փոխանցող UART- ը տվյալներ է ստանում տվյալների տողից զուգահեռ

Քայլ 12

2. Հաղորդող UART- ը տվյալների շրջանակին ավելացնում է սկզբնական բիթը, հավասարության բիթը և կանգառի բիթը
2. Հաղորդող UART- ը տվյալների շրջանակին ավելացնում է սկզբնական բիթը, հավասարության բիթը և կանգառի բիթը

Քայլ 13: 3. Ամբողջ փաթեթը հաջորդաբար ուղարկվում է փոխանցող UART- ից ընդունող UART- ին: ստացող UART- ը նմուշառում է տվյալների գիծը նախապես կազմաձևված Baud Rate- ով

3. Ամբողջ փաթեթը հերթականությամբ ուղարկվում է փոխանցող UART- ից ընդունող UART- ին: Ստացող UART- ը նմուշառում է տվյալների գիծը նախապես կազմաձևված Baud Rate- ով
3. Ամբողջ փաթեթը հերթականությամբ ուղարկվում է փոխանցող UART- ից ընդունող UART- ին: Ստացող UART- ը նմուշառում է տվյալների գիծը նախապես կազմաձևված Baud Rate- ով

Քայլ 14: 4. Ստացող UART- ը հեռացնում է մեկնարկի բիտը, հավասարության բիթը և կանգառի բիթը տվյալների շրջանակից

4. Ստացող UART- ը հեռացնում է մեկնարկի բիտը, հավասարության բիթը և դադարի բիտը տվյալների շրջանակից
4. Ստացող UART- ը հեռացնում է մեկնարկի բիտը, հավասարության բիթը և դադարի բիտը տվյալների շրջանակից

Քայլ 15: 5. Ստացող UART- ը սերիական տվյալները հետ է դարձնում զուգահեռ և դրանք փոխանցում է ստացողի վերջի տվյալների ավտոբուսին

5. Ստացող UART- ը սերիական տվյալները հետ է դարձնում զուգահեռ և դրանք փոխանցում է ստացողի վերջի տվյալների ավտոբուսին
5. Ստացող UART- ը սերիական տվյալները հետ է դարձնում զուգահեռ և դրանք փոխանցում է ստացողի վերջի տվյալների ավտոբուսին

Քայլ 16. UARTS- ի առավելություններն ու թերությունները

Հաղորդակցության ոչ մի արձանագրություն կատարյալ չէ, բայց UART- երը բավականին լավ են անում այն, ինչ անում են: Ահա որոշ առավելություններ և թերություններ, որոնք կօգնեն ձեզ որոշել, թե դրանք համապատասխանում են ձեր նախագծի կարիքներին, թե ոչ.

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

Օգտագործում է միայն երկու լար: clockամացույցի ազդանշան անհրաժեշտ չէ Ունի պարիտետի բիթ `սխալը ստուգելու համար: Տվյալների փաթեթի կառուցվածքը կարող է փոխվել այնքան ժամանակ, քանի դեռ դրա համար երկու կողմն էլ կարգավորված է: Լավ փաստաթղթավորված և լայնորեն կիրառվող մեթոդ

Տվյալների շրջանակի չափը սահմանափակվում է առավելագույնը 9 բիթով: Չի ապահովում բազմաթիվ ստրուկների կամ բազմաթիվ հիմնական համակարգերի: Յուրաքանչյուր UART- ի բաուդ արագությունը պետք է լինի միմյանցից 10% -ի սահմաններում: I2C հաղորդակցման արձանագրություն ՝ էլեկտրոնային սարքերի հաղորդակցման մեկ այլ եղանակի մասին ծանոթանալու համար: Կամ, եթե դեռ չեք հասցրել, ստուգեք առաջին մասը ՝ SPI հաղորդակցության արձանագրության հիմունքները:

Եվ ինչպես միշտ, ինձ տեղեկացրեք մեկնաբանություններում, եթե հարցեր ունեք կամ ավելացնելու այլ բան: Եթե ձեզ դուր եկավ այս հոդվածը և ցանկանում եք ավելի շատ նման բան տեսնել, անպայման հետևեք

Հարգանքներով

M. Junaid

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