I2C ავტობუსის მიმოხილვა და უპირატესობები
შეიმუშავა Philips-მა 1980-იან წლებში, ი2C (ალტერნატიულად იწერება I2C) გახდა ერთ-ერთი ყველაზე ხშირად გამოყენებული სერიული საკომუნიკაციო პროტოკოლი ელექტრონიკაში. I2C ხელს უწყობს კომუნიკაციას ელექტრონულ კომპონენტებს შორის ან ინტეგრირებული სქემები, არის თუ არა კომპონენტები ერთნაირი PCB ან დაკავშირებულია კაბელთან.
რა არის I2C პროტოკოლი?
I2C არის სერიული საკომუნიკაციო პროტოკოლი, რომელიც მოითხოვს მხოლოდ ორ სიგნალის ხაზს. იგი შექმნილია ბეჭდური მიკროსქემის დაფაზე (PCB) ჩიპებს შორის კომუნიკაციისთვის. I2C თავდაპირველად 100-ზე იყო შექმნილი Kbps კომუნიკაცია. თუმცა, წლების განმავლობაში შეიქმნა მონაცემთა გადაცემის უფრო სწრაფი რეჟიმები 3.4 მბიტამდე სიჩქარის მისაღწევად.
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-ებზე წვდომა.
- მომხმარებლის მიერ მიმართული ქმედებების გადაცემა და კონტროლი.
- ტექნიკის სენსორების კითხვა.
- კომუნიკაცია მრავალ მიკროკონტროლერთან.