Ժամանակակից կենցաղային տեխնիկայում, արդյունաբերական էլեկտրոնիկայի և հեռահաղորդակցության տարբեր սարքավորումներում հաճախ կարելի է գտնել նմանատիպ լուծումներ, թեև արտադրանքները կարող են գործնականում կապ չունենալ: Օրինակ, գրեթե յուրաքանչյուր համակարգ ներառում է հետևյալը.
- որոշակի «խելացի» կառավարման միավոր, որը դեպքերի ճնշող մեծամասնությունում մեկ չիպով միկրոհամակարգիչ է;
- ընդհանուր նշանակության բաղադրիչներ, ինչպիսիք են LCD բուֆերները, RAM-ը, I/O պորտերը, EEPROM-ը կամ հատուկ տվյալների փոխարկիչները;
- հատուկ բաղադրիչներ, ներառյալ թվային թյունինգ և ազդանշանի մշակման սխեմաներ տեսա և ռադիո համակարգերի համար:
Ինչպե՞ս օպտիմալացնել դրանց հավելվածը:
Այս ընդհանուր լուծումներից առավելագույնը օգտագործելու համար դիզայներների և արտադրողների շահերին, ինչպես նաև բարելավելու տարբեր սարքավորումների ընդհանուր աշխատանքը և պարզեցնելու կիրառական սխեմաների բաղադրիչները, Philips-ը ձեռնամուխ եղավ ամենապարզ երկկողմանի երկուղիների մշակմանը: ավտոբուս, որն ապահովում է ամենաարդյունավետ միջչիպըվերահսկողություն. Այս ավտոբուսն ապահովում է տվյալների փոխանցում I2C ինտերֆեյսի միջոցով:
Այսօր արտադրողի արտադրանքի տեսականին ներառում է ավելի քան 150 CMOS, ինչպես նաև երկբևեռ սարքեր, որոնք համատեղելի են I2C-ի հետ և նախատեսված են նշված կատեգորիաներից որևէ մեկում աշխատելու համար: Հարկ է նշել, որ I2C ինտերֆեյսը ի սկզբանե ներկառուցված է բոլոր համատեղելի սարքերում, ինչի շնորհիվ նրանք կարող են հեշտությամբ շփվել միմյանց հետ՝ օգտագործելով հատուկ ավտոբուս։ Նման նախագծային լուծման կիրառման շնորհիվ հնարավոր եղավ լուծել տարբեր սարքավորումների ինտերֆեյսի բավականին մեծ թվով խնդիրներ, ինչը բավականին բնորոշ է թվային համակարգերի զարգացմանը։
Հիմնական առավելություններ
Նույնիսկ եթե նայեք UART, SPI, I2C միջերեսների հակիրճ նկարագրությանը, կարող եք առանձնացնել վերջինիս հետևյալ առավելությունները.
- Աշխատելու համար անհրաժեշտ է ընդամենը երկու տող՝ համաժամացում և տվյալներ: Ցանկացած սարք, որը միանում է նման ավտոբուսին, այնուհետև կարող է ծրագրային կերպով հասցեագրվել բոլորովին եզակի հասցեի: Ցանկացած ժամանակ կա մի պարզ հարաբերություն, որը թույլ է տալիս վարպետներին հանդես գալ որպես վարպետ-հաղորդիչ կամ վարպետ-ընդունիչ:
- Այս ավտոբուսը հնարավորություն է տալիս միանգամից մի քանի վարպետներ ունենալ՝ տրամադրելով բոլոր անհրաժեշտ միջոցները բախումները որոշելու համար, ինչպես նաև արբիտրաժ՝ կանխելու տվյալների կոռուպցիան այն դեպքում, երբ երկու կամ ավելի վարպետներ սկսում են միաժամանակ տեղեկատվություն փոխանցել: Ստանդարտ ռեժիմումՏվյալների միայն սերիական 8-բիթանոց փոխանցումն ապահովված է 100 կբ/վ-ից ոչ ավելի արագությամբ, իսկ արագ ռեժիմում այդ շեմը կարող է աճել չորս անգամ։
- Չիպերն օգտագործում են հատուկ ներկառուցված զտիչ, որն արդյունավետորեն ճնշում է ալիքների բարձրացումն ու ապահովում տվյալների առավելագույն ամբողջականությունը:
- Չիպերի առավելագույն հնարավոր քանակը, որոնք կարելի է միացնել մեկ ավտոբուսին, սահմանափակված է միայն դրա առավելագույն հնարավոր հզորությամբ՝ 400 pF:
Օգուտներ շինարարների համար
I2C ինտերֆեյսը, ինչպես նաև բոլոր համատեղելի չիպերը, կարող են զգալիորեն արագացնել զարգացման գործընթացը՝ ֆունկցիոնալ դիագրամից մինչև վերջնական նախատիպ: Միևնույն ժամանակ, հարկ է նշել, որ առանց բոլոր տեսակի հավելյալ սխեմաներ օգտագործելու նման միկրոսխեմաներն անմիջապես ավտոբուսին միացնելու հնարավորության պատճառով տարածք է տրամադրվում նախատիպի համակարգի հետագա արդիականացման և փոփոխման համար՝ տարբեր սարքեր անջատելով և միացնելով սարքից։ ավտոբուս.
Կան բազմաթիվ առավելություններ, որոնք առանձնացնում են I2C ինտերֆեյսը: Նկարագրությունը, մասնավորապես, թույլ է տալիս տեսնել հետևյալ առավելությունները կոնստրուկտորների համար՝
- Ֆունկցիոնալ գծապատկերի բլոկները լիովին համապատասխանում են միկրոսխեմաներին, և միևնույն ժամանակ ապահովվում է բավականին արագ անցում ֆունկցիոնալից հիմնարարի:
- Աբուսային միջերեսներ մշակելու կարիք չկա, քանի որ ավտոբուսն արդեն իսկ ինտեգրված է հատուկ չիպերի մեջ:
- Ինտեգրված կապի արձանագրություններ ևսարքի հասցեավորումը թույլ է տալիս համակարգին ամբողջությամբ սահմանել ծրագրային ապահովում:
- Նույն տեսակի միկրոսխեմաները, անհրաժեշտության դեպքում, կարող են օգտագործվել բոլորովին այլ կիրառություններում:
- Զարգացման ընդհանուր ժամանակը զգալիորեն կրճատվել է, քանի որ դիզայներները կարող են արագ ծանոթանալ առավել հաճախ օգտագործվող ֆունկցիոնալ բլոկներին, ինչպես նաև տարբեր միկրոսխեմաներին:
- Ցանկության դեպքում կարող եք համակարգից չիպեր ավելացնել կամ հեռացնել և միևնույն ժամանակ մեծ ազդեցություն չունենալ նույն ավտոբուսին միացված այլ սարքավորումների վրա:
- Ծրագրաշարի մշակման ընդհանուր ժամանակը կարող է զգալիորեն կրճատվել՝ թույլատրելով բազմակի օգտագործման ծրագրային մոդուլների գրադարան:
Ի թիվս այլ բաների, հարկ է նշել տեղի ունեցած ձախողումների ախտորոշման և հետագա վրիպազերծման չափազանց պարզ ընթացակարգը, որն առանձնացնում է I2C ինտերֆեյսը: Նկարագրությունը հուշում է, որ անհրաժեշտության դեպքում նման սարքավորումների շահագործման մեջ նույնիսկ աննշան շեղումները կարող են ակնթարթորեն վերահսկվել առանց որևէ դժվարության և, համապատասխանաբար, ձեռնարկել համապատասխան միջոցներ: Հարկ է նաև նշել, որ դիզայներները ստանում են հատուկ լուծումներ, որոնք, մասնավորապես, բավականին գրավիչ են տարբեր շարժական սարքավորումների և համակարգերի համար, որոնք ապահովում են մարտկոցի էներգիան՝ օգտագործելով I2C ինտերֆեյսը։ Ռուսերեն նկարագրությունը նաև ցույց է տալիս, որ դրա օգտագործումը թույլ է տալիս ապահովել հետևյալ կարևոր առավելությունները՝
- Բավականին բարձր աստիճանի դիմադրություն ցանկացած առաջացող միջամտության:
- Ի վերջոցածր էներգիայի սպառում։
- Մատուցման լարման ամենալայն տիրույթ։
- Ջերմաստիճանի լայն տիրույթ։
Օգուտներ տեխնոլոգների համար
Հարկ է նշել, որ ոչ միայն դիզայներները, այլեւ տեխնոլոգները վերջերս սկսել են բավականին հաճախ օգտագործել մասնագիտացված I2C ինտերֆեյս։ Ռուսերեն նկարագրությունը ցույց է տալիս առավելությունների բավականին լայն շրջանակ, որոնք ապահովում են մասնագետների այս կատեգորիան.
- Այս ինտերֆեյսով ստանդարտ երկլարային սերիական ավտոբուսը նվազագույնի է հասցնում IC-ների միջև փոխկապակցումը, ինչը նշանակում է, որ ավելի քիչ կապում և պահանջվում են ավելի քիչ հետքեր, ինչը դարձնում է PCB-ն ավելի էժան և շատ ավելի փոքր:
- Լիովին ինտեգրված I2C ինտերֆեյսը LCD1602 կամ որևէ այլ տարբերակ ամբողջովին վերացնում է հասցեների ապակոդավորիչների և այլ արտաքին փոքր տրամաբանության անհրաժեշտությունը:
- Հնարավոր է միաժամանակ օգտագործել մի քանի վարպետներ նման ավտոբուսի վրա, ինչը զգալիորեն արագացնում է փորձարկումը և հետագա սարքավորումների տեղադրումը, քանի որ ավտոբուսը կարող է միացված լինել հավաքման գծի համակարգչին:
- Այս ինտերֆեյսի հետ համատեղելի IC-ների առկայությունը VSO, SO և հատուկ DIL փաթեթներում կարող է զգալիորեն նվազեցնել սարքի չափի պահանջները:
Սա ընդամենը առավելությունների կարճ ցանկն է, որոնք տարբերում են LCD1602-ի I2C ինտերֆեյսը և մյուսները: Բացի այդ, համատեղելի չիպերը կարող են զգալիորեն մեծացնել օգտագործվող համակարգի ճկունությունը՝ ապահովելովՍարքավորումների տարբեր տարբերակների չափազանց պարզ ձևավորում, ինչպես նաև համեմատաբար հեշտ արդիականացում՝ ներկայիս մակարդակով հետագա զարգացմանն աջակցելու համար: Այսպիսով, հնարավոր է մշակել տարբեր սարքավորումների մի ամբողջ ընտանիք՝ հիմք ընդունելով որոշակի հիմնական մոդել։
Սարքավորումների հետագա արդիականացումը և դրա գործառույթների ընդլայնումը կարող են իրականացվել համապատասխան միկրոսխեմայի ավտոբուսին ստանդարտ միացման միջոցով՝ օգտագործելով Arduino 2C ինտերֆեյսը կամ առկա ցանկից որևէ այլ: Եթե պահանջվում է ավելի մեծ ROM, ապա բավական կլինի միայն ընտրել մեկ այլ միկրոկոնտրոլեր՝ ավելացված ROM-ով: Քանի որ անհրաժեշտության դեպքում թարմացված չիպերը կարող են ամբողջությամբ փոխարինել հիններին, դուք հեշտությամբ կարող եք նոր հնարավորություններ ավելացնել սարքավորմանը կամ բարձրացնել դրա ընդհանուր արդյունավետությունը՝ պարզապես անջատելով հնացած չիպերը և այն փոխարինելով ավելի նոր սարքավորումներով:
ACCESS.bus
Հաշվի առնելով այն հանգամանքը, որ ավտոբուսը ունի երկլարային բնույթ, ինչպես նաև ծրագրի հասցեավորման հնարավորությունը, ACCESS.bus-ի համար ամենաիդեալական հարթակներից մեկը I2C ինտերֆեյսն է։ Այս սարքի առանձնահատկությունը (ռուսերեն նկարագրությունը ներկայացված է հոդվածում) այն դարձնում է շատ ավելի էժան այլընտրանք նախկինում ակտիվորեն օգտագործված RS-232C ինտերֆեյսի համար՝ տարբեր ծայրամասային սարքերը համակարգիչներին միացնելու համար՝ օգտագործելով ստանդարտ չորս փին միակցիչ::
Տեխնիկական ներածություն
Ժամանակակից կիրառությունների համար8-բիթանոց կառավարում, որն օգտագործում է միկրոկոնտրոլերներ, հնարավոր է սահմանել որոշ նախագծման չափանիշներ՝
- ամբողջական համակարգը հիմնականում ներառում է մեկ միկրոկառավարիչ և այլ ծայրամասային սարքեր, ներառյալ հիշողությունը և տարբեր I/O պորտեր;
- մեկ համակարգում տարբեր սարքերի համակցման ընդհանուր արժեքը պետք է հնարավորինս նվազագույնի հասցվի;
- գործառույթները կառավարող համակարգը չի նախատեսում տեղեկատվության արագ փոխանցման անհրաժեշտություն;
- ընդհանուր արդյունավետությունը ուղղակիորեն կախված է ընտրված սարքավորումներից, ինչպես նաև միացնող ավտոբուսի բնույթից:
Նշված չափանիշներին լիովին համապատասխանող համակարգ նախագծելու համար դուք պետք է օգտագործեք ավտոբուս, որը կօգտագործի I2C սերիական ինտերֆեյսը: Չնայած սերիական ավտոբուսը չունի զուգահեռ ավտոբուսի թողունակությունը, այն պահանջում է ավելի քիչ կապեր և ավելի քիչ չիպային կապանքներ: Միևնույն ժամանակ, մի մոռացեք, որ ավտոբուսը ներառում է ոչ միայն միացնող լարեր, այլև տարբեր ընթացակարգեր և ձևաչափեր, որոնք անհրաժեշտ են համակարգի ներսում հաղորդակցությունն ապահովելու համար։
Սարքերը, որոնք հաղորդակցվում են I2C ինտերֆեյսի կամ համապատասխան ավտոբուսի ծրագրային էմուլյացիայի միջոցով, պետք է ունենան հատուկ արձանագրություն, որը թույլ է տալիս կանխել տեղեկատվության բախման, կորստի կամ արգելափակման տարբեր հնարավորությունները: Արագ սարքերը պետք է կարողանան շփվել դանդաղ սարքերի հետ, և համակարգը չպետք է կախված լինիդրան միացված սարքավորումներից, քանի որ հակառակ դեպքում բոլոր բարելավումները և փոփոխությունները չեն կարող օգտագործվել: Անհրաժեշտ է նաև մշակել ընթացակարգ, որի օգնությամբ իրատեսական է սահմանել, թե կոնկրետ որ սարքն է ներկայումս ապահովում ավտոբուսի կառավարումը և ժամանակի որ պահին: Բացի այդ, եթե ժամացույցի տարբեր հաճախականությամբ տարբեր սարքեր միացված են նույն ավտոբուսին, ապա պետք է որոշեք դրա համաժամացման աղբյուրը: Այս բոլոր չափանիշները համապատասխանում են I2C ինտերֆեյսին AVR-ի և այս ցանկի ցանկացած այլ համար:
Հիմնական հայեցակարգ
I2C ավտոբուսը կարող է աջակցել ցանկացած օգտագործվող չիպային տեխնոլոգիա: I2C LabVIEW ինտերֆեյսը և դրան նման այլ ինտերֆեյս ապահովում են տեղեկատվության փոխանցման երկու տողերի օգտագործում՝ տվյալների և համաժամացման: Այս եղանակով միացված ցանկացած սարք ճանաչվում է իր եզակի հասցեով՝ անկախ նրանից՝ դա LCD բուֆեր է, միկրոկոնտրոլեր, հիշողություն կամ ստեղնաշարի ինտերֆեյս և կարող է հանդես գալ որպես ընդունիչ կամ հաղորդիչ՝ կախված նրանից, թե ինչի համար է նախատեսված:
Դեպքերի ճնշող մեծամասնությունում LCD բուֆերը ստանդարտ ընդունիչ է, և հիշողությունը կարող է ոչ միայն ստանալ, այլև փոխանցել տարբեր տվյալներ: Ի թիվս այլ բաների, ըստ տեղեկատվության տեղափոխման գործընթացի, սարքերը կարող են դասակարգվել որպես ստրուկ և վարպետ:
Այս դեպքում վարպետը այն սարքն է, որը սկսում է տվյալների փոխանցումը և նաև առաջացնումհամաժամացման ազդանշաններ. Այս դեպքում ցանկացած հասցեագրելի սարք կհամարվի որպես ստրուկ դրա հետ կապված:
I2C կապի ինտերֆեյսը ապահովում է միանգամից մի քանի վարպետների առկայություն, այսինքն՝ ավտոբուսը կառավարելու ունակ մեկից ավելի սարքեր կարող են միանալ դրան: Միևնույն ավտոբուսում մեկից ավելի միկրոկառավարիչներ օգտագործելու հնարավորությունը նշանակում է, որ ցանկացած պահի կարող է փոխանցվել մեկից ավելի վարպետ: Պոտենցիալ քաոսը վերացնելու համար, որը ռիսկի է դիմում նման իրավիճակի առաջացման դեպքում, մշակվել է մասնագիտացված արբիտրաժային ընթացակարգ, որն օգտագործում է I2C ինտերֆեյսը: Էքսպանդերները և այլ սարքերը ապահովում են ավտոբուսին սարքերը միացնելու համար, այսպես կոչված, լարերի միացման կանոնի համաձայն:
Ժամացույցի ազդանշանի գեներացումը վարպետի պարտականությունն է, և յուրաքանչյուր վարպետ առաջացնում է իր սեփական ազդանշանը տվյալների փոխանցման ժամանակ, և այն կարող է փոխվել միայն ավելի ուշ, եթե այն «քաշվի» դանդաղ ստրուկի կամ այլ վարպետի կողմից, երբ բախում է տեղի ունենում:
Ընդհանուր պարամետրեր
Երկուսն էլ SCL-ը և SDA-ն երկկողմանի գծեր են, որոնք միանում են դրական սնուցման աղբյուրին ձգվող դիմադրության միջոցով: Երբ անվադողը բացարձակապես ազատ է, յուրաքանչյուր տող գտնվում է բարձր դիրքում: Ավտոբուսին միացված սարքերի ելքային փուլերը պետք է լինեն բաց արտահոսք կամ բաց կոլեկցիոներ, որպեսզի ապահովվի լարային AND ֆունկցիան: I2C ինտերֆեյսի միջոցով տեղեկատվությունը կարող է փոխանցվել ոչ ավելի, քան 400 կբ/վ արագությամբ:արագ ռեժիմ, մինչդեռ ստանդարտ արագությունը չի գերազանցում 100 կբիթ/վրկ: Սարքերի ընդհանուր թիվը, որոնք կարող են միաժամանակ միանալ ավտոբուսին, կախված է միայն մեկ պարամետրից: Սա գծի հզորությունն է, որը ոչ ավելի, քան 400 pf:
Հաստատում
Հաստատումը պարտադիր ընթացակարգ է տվյալների փոխանցման գործընթացում: Վարպետը ստեղծում է համապատասխան համաժամացման իմպուլս, մինչդեռ հաղորդիչը թողարկում է SDA գիծը այս համաժամացման իմպուլսի ընթացքում որպես հաստատում: Դրանից հետո ստացողը պետք է ապահովի, որ SDA գիծը կայուն է պահվում ժամացույցի բարձր վիճակի ժամանակ կայուն ցածր վիճակում: Այս դեպքում, համոզվեք, որ հաշվի առեք տեղադրման և պահման ժամանակները:
Դեպքերի ճնշող մեծամասնությունում պարտադիր է, որ հասցեագրված ստացողը յուրաքանչյուր ստացված բայթից հետո գեներացնի հաստատում, բացառությամբ միայն այն դեպքում, երբ հաղորդման սկիզբը ներառում է CBUS հասցե:
Եթե ստացող-ստրուկը չունի սեփական հասցեի հաստատում ուղարկելու միջոց, տվյալների գիծը պետք է բարձր մնա, այնուհետև վարպետը կկարողանա «Stop» ազդանշան արձակել, որը կխանգարի ուղարկելը: բոլոր տեղեկությունները: Եթե հասցեն հաստատված է, բայց ստրուկը երկար ժամանակ չի կարող այլ տվյալներ ստանալ, ապա վարպետը նույնպես պետք է ընդհատի ուղարկումը: Դա անելու համար ստրուկը չի ճանաչում ստացված հաջորդ բայթը և պարզապես հեռանում է տողիցբարձր՝ ստիպելով վարպետին ստեղծել կանգառի ազդանշան:
Եթե փոխանցման ընթացակարգը նախատեսում է վարպետ-ընդունիչի առկայությունը, ապա այս դեպքում այն պետք է տեղեկացնի ստրուկին փոխանցման ավարտի մասին, և դա արվում է վերջին ստացված բայթը չճանաչելով։ Այս դեպքում ստրուկ-հաղորդիչն անմիջապես թողարկում է տվյալների գիծը, որպեսզի վարպետը կարողանա «Stop» ազդանշան տալ կամ նորից կրկնել «Start» ազդանշանը:
Ստուգելու համար, արդյոք սարքավորումն աշխատում է, կարող եք փորձել մուտքագրել Arduino-ում I2C ինտերֆեյսի էսքիզների ստանդարտ օրինակներ, ինչպես վերը նշված լուսանկարում:
Արբիտրաժ
Վարպետները կարող են սկսել տեղեկատվություն ուղարկել միայն այն բանից հետո, երբ ավտոբուսը լիովին ազատ է, բայց երկու կամ ավելի վարպետները կարող են ստեղծել մեկնարկի ազդանշան նվազագույն պահման ժամանակ: Սա, ի վերջո, հանգեցնում է ավտոբուսի հատուկ «Սկսել» ազդանշանի:
Արբիտրաժն աշխատում է SDA ավտոբուսում, մինչդեռ SCL ավտոբուսը բարձր է: Եթե վարպետներից մեկը սկսում է ցածր մակարդակ փոխանցել տվյալների գծի վրա, բայց միևնույն ժամանակ մյուսը բարձր է, ապա վերջինս ամբողջովին անջատվում է դրանից, քանի որ SDL վիճակը չի համապատասխանում իր ներքին գծի բարձր վիճակին։.
Արբիտրաժը կարող է շարունակվել մի քանի բիթով: Հաշվի առնելով այն հանգամանքը, որ սկզբում փոխանցվում է հասցեն, իսկ հետո՝ տվյալները, արբիտրաժը կարող է տևել մինչև հասցեի ավարտը, և եթե վարպետները կանդրադառնան.նույն սարքը, ապա տարբեր տվյալներ նույնպես կմասնակցեն արբիտրաժին։ Այս արբիտրաժային սխեմայի շնորհիվ ոչ մի տվյալ չի կորչի, եթե որևէ բախում տեղի ունենա:
Եթե վարպետը կորցնում է արբիտրաժը, ապա այն կարող է ժամացույցի իմպուլսներ թողարկել SCL-ում մինչև բայթի ավարտը, որի ընթացքում մուտքը կորել է: