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