შემუშავებული Philips-ის მიერ 1980-იან წლებში, I2C (ალტერნატიულად იწერება I2C) გახდა ერთ-ერთი ყველაზე ხშირად გამოყენებული სერიული საკომუნიკაციო პროტოკოლი ელექტრონიკაში. I2C აადვილებს კომუნიკაციას ელექტრონულ კომპონენტებს ან ინტეგრირებულ სქემებს შორის, მიუხედავად იმისა, კომპონენტები ერთსა და იმავე PCB-ზეა თუ დაკავშირებული კაბელთან.
რა არის I2C პროტოკოლი?
I2C არის სერიული საკომუნიკაციო პროტოკოლი, რომელიც მოითხოვს მხოლოდ ორ სიგნალის ხაზს. იგი შექმნილია ბეჭდური მიკროსქემის დაფაზე (PCB) ჩიპებს შორის კომუნიკაციისთვის. I2C თავდაპირველად შეიქმნა 100 Kbps კომუნიკაციისთვის. თუმცა, წლების განმავლობაში შეიქმნა მონაცემთა გადაცემის უფრო სწრაფი რეჟიმები 3-მდე სიჩქარის მისაღწევად.4 Mbit.
I2C-ის მთავარი მახასიათებელია მრავალი კომპონენტის ქონა ერთ საკომუნიკაციო ავტობუსზე მხოლოდ ორი მავთულით, რაც I2C-ს სრულყოფილს ხდის მარტივი აპლიკაციებისთვის. I2C პროტოკოლი ჩამოყალიბდა, როგორც ოფიციალური სტანდარტი, რომელიც საშუალებას იძლევა ჩამორჩენილი თავსებადობა I2C დანერგვას შორის.
I2C სიგნალები
I2C პროტოკოლი იყენებს ორ ორმხრივ სიგნალის ხაზს საკომუნიკაციო ავტობუსში მოწყობილ მოწყობილობებთან კომუნიკაციისთვის. გამოყენებული ორი სიგნალია:
- სერიული მონაცემთა ხაზი (SDL)
- სერიული მონაცემთა საათი (SDC)
მიზეზი იმისა, რომ I2C-ს შეუძლია გამოიყენოს მხოლოდ ორი სიგნალი რამდენიმე პერიფერიულ მოწყობილობასთან კომუნიკაციისთვის, არის ის, თუ როგორ ხდება კომუნიკაცია ავტობუსის გასწვრივ. ყოველი I2C კომუნიკაცია იწყება 7-ბიტიანი (ან 10-ბიტიანი) მისამართით, რომელიც იძახის პერიფერიული მოწყობილობის მისამართს.
ეს საშუალებას აძლევს მრავალ მოწყობილობას I2C ავტობუსზე შეასრულონ ძირითადი მოწყობილობის როლი, როგორც ამას სისტემის საჭიროებები გვკარნახობს.საკომუნიკაციო შეჯახების თავიდან ასაცილებლად, I2C პროტოკოლი მოიცავს საარბიტრაჟო და შეჯახების გამოვლენის შესაძლებლობებს, რაც საშუალებას აძლევს გლუვ კომუნიკაციას ავტობუსის გასწვრივ.
I2C-ის უპირატესობები
როგორც საკომუნიკაციო პროტოკოლს, I2C-ს აქვს შემდეგი უპირატესობები:
- მოქნილი მონაცემთა გადაცემის სიჩქარე.
- უფრო შორ მანძილზე კომუნიკაცია, ვიდრე SPI.
- ავტობუსში თითოეული მოწყობილობა დამოუკიდებლად მისამართია.
- მოწყობილობებს აქვთ მარტივი პირველადი/მეორადი ურთიერთობა.
- ამას მხოლოდ ორი სასიგნალო ხაზი სჭირდება.
- მას შეუძლია მრავალი პირველადი კომუნიკაციის მართვა არბიტრაჟისა და კომუნიკაციის შეჯახების გამოვლენის გზით.
I2C-ის შეზღუდვები
ყველა ამ უპირატესობით, I2C-ს ასევე აქვს რამდენიმე შეზღუდვა, რომელიც შეიძლება საჭირო გახდეს გარშემო. ყველაზე მნიშვნელოვანი I2C შეზღუდვები მოიცავს:
- რადგან მხოლოდ 7-ბიტიანი (ან 10-ბიტიანი) ხელმისაწვდომია მოწყობილობის მისამართებისთვის, ერთსა და იმავე ავტობუსზე არსებულ მოწყობილობებს შეუძლიათ იგივე მისამართის გაზიარება. ზოგიერთ მოწყობილობას შეუძლია მისამართის ბოლო რამდენიმე ბიტის კონფიგურაცია, მაგრამ ეს აწესებს მოწყობილობების შეზღუდვას იმავე ავტობუსზე.
- ხელმისაწვდომია მხოლოდ რამდენიმე შეზღუდული კომუნიკაციის სიჩქარე და ბევრი მოწყობილობა არ უჭერს მხარს გადაცემას უფრო მაღალი სიჩქარით. ავტობუსში თითოეული სიჩქარის ნაწილობრივი მხარდაჭერაა საჭირო, რათა ნელი მოწყობილობები არ დაიჭირონ ნაწილობრივი ტრანსმისია, რამაც შეიძლება გამოიწვიოს ოპერაციული ხარვეზები.
- I2C ავტობუსის საერთო ბუნებამ შეიძლება გამოიწვიოს მთელი ავტობუსი ჩამოკიდებული, როდესაც ავტობუსში ერთი მოწყობილობა წყვეტს მუშაობას. ელექტროენერგიის ავტობუსამდე ველოსიპედით გადაადგილებამ შეიძლება აღადგინოს სათანადო მუშაობა.
- მას შემდეგ, რაც მოწყობილობები ადგენენ საკუთარ კომუნიკაციის სიჩქარეს, ნელი ოპერატიული მოწყობილობები შეიძლება შეაფერხონ უფრო სწრაფი მოწყობილობების მუშაობა.
- I2C იღებს უფრო მეტ ენერგიას, ვიდრე სხვა სერიული საკომუნიკაციო ავტობუსები საკომუნიკაციო ხაზების ღია დრენაჟის ტოპოლოგიის გამო.
- I2C ავტობუსის შეზღუდვები ჩვეულებრივ ზღუდავს მოწყობილობების რაოდენობას ავტობუსში დაახლოებით ათამდე.
I2C აპლიკაციები
I2C შესანიშნავი ვარიანტია აპლიკაციებისთვის, რომლებიც საჭიროებენ დაბალ ღირებულებას და მარტივ განხორციელებას და არა მაღალ სიჩქარეს. მაგალითად, I2C საკომუნიკაციო პროტოკოლის საერთო გამოყენება მოიცავს:
- მეხსიერების გარკვეული IC-ების კითხვა.
- DAC-სა და ADC-ებზე წვდომა.
- მომხმარებლის მიერ მიმართული ქმედებების გადაცემა და კონტროლი.
- ტექნიკის სენსორების კითხვა.
- კომუნიკაცია მრავალ მიკროკონტროლერთან.