I2C- სა და SPI- ს შორის შერჩევა ორ ძირითად სერიულ კომუნიკაციურ ვარიანტს შორის საკმაოდ რთული გამოწვევაა და მნიშვნელოვან გავლენას ახდენს პროექტის დიზაინზე, განსაკუთრებით იმ შემთხვევაში, თუ არასწორი კომუნიკაციის პროტოკოლი გამოიყენება. ორივე SPI და I2C თავიანთი უპირატესობები და შეზღუდვები, როგორც საკომუნიკაციო ოქმები, რომლებიც თითოეული შეეფერება კონკრეტული განაცხადების.
SPI
SPI, ან სერიალი პერიფერიული ინტერფეისი, არის ძალიან დაბალი ძალა, ოთხი მავთულის სერიული კომუნიკაციის ინტერფეისი განკუთვნილია IC კონტროლერები და პერიფერიული კომუნიკაცია ერთმანეთთან. SPI ავტობუსი არის სრული დუპლექსის ავტობუსი, რომელიც საშუალებას აძლევს კომუნიკაციის საშუალებას მისაწოდებლად და სამაგისტრო აპარატში ერთდროულად 10Mbps- მდე. SPI- ის მაღალსიჩქარიანი ფუნქცია ზოგადად ზღუდავს გამოყენებას ცალკე PCB- ებზე კომპონენტებს შორის კომუნიკაციის შესაძლებლობის გამო, რაც უფრო დიდ მანძილზე კომუნიკაციის საშუალებას იძლევა სიგნალის ხაზებში. PCB capacitance ასევე შეუძლია შეზღუდოს სიგრძე SPI საკომუნიკაციო ხაზები.
მიუხედავად იმისა, რომ SPI არის დადგენილი ოქმის, ეს არ არის ოფიციალური სტანდარტი, რომელიც იწვევს რამდენიმე ვარიანტს და SPI მორგებას, რომელიც შეიძლება გამოიწვიოს თავსებადობა საკითხები. SPI- ის შესრულება ყოველთვის უნდა შემოწმდეს სამაგისტრო კონტროლერებსა და მონა პერიფერულებს შორის, რათა უზრუნველყონ, რომ კომბინირებას არ ექნება რაიმე მოულოდნელი საკომუნიკაციო პრობლემები, რაც გავლენას იქონიებს პროდუქტის განვითარებაზე.
I2C
I2C არის ოფიციალური სტანდარტული სერიული კომუნიკაციის პროტოკოლი, რომელიც მოითხოვს მხოლოდ ორი სიგნალის ხაზს, რომელიც შექმნილია PCB- ზე ჩიპებს შორის კომუნიკაციისთვის. I2C თავდაპირველად შემუშავებული იყო 100 კბ / წმ კომუნიკაციისთვის, მაგრამ წლების განმავლობაში შემუშავდა მონაცემთა გადაცემის სწრაფი სიჩქარეები, რათა მიაღწიოს 3.4 მბ-მდე სიჩქარეს. I2C პროტოკოლი შეიქმნა ოფიციალურ სტანდარტად, რომელიც ითვალისწინებს I2C- ის შესრულებასა და კარგი უკანონობის თავსებადობას.
შერჩევა შორის I2C და SPI
I2c- ისა და SPI- ს შორის, ორი ძირითადი სერიული კომუნიკაციის ოქმების შერჩევა მოითხოვს I2C, SPI და თქვენი გამოყენების უპირატესობებსა და შეზღუდვებს. თითოეულ საკომუნიკაციო ოქმს ექნება მკაფიო უპირატესობა, რომელიც გამოირჩევა თქვენი განაცხადისთვის. I2C- სა და SPI- ს შორის ძირითადი განსხვავებებია:
- I2C მოითხოვს მხოლოდ 2 ხაზს, ხოლო SPI მოითხოვს 3 ან 4
- SPI მხარს უჭერს მაღალი სიჩქარით სრულ დუპლექს კომუნიკაციას, ხოლო I2C ნელია
- I2C უფრო მეტი ძალაუფლებაა, ვიდრე SPI
- I2C მხარს უჭერს მრავალჯერადი მოწყობილობას იმავე ავტობუსთან დაკავშირებით დამატებითი შერჩევის სიგნალის ხაზების გარეშე საკომუნიკაციო მოწყობილობის საშუალებით, ხოლო SPI- ს მოითხოვს დამატებითი სიგნალი ხაზების მართვა იმავე ავტობუსზე
- I2C უზრუნველყოფს მონაცემების გაგზავნას მონა ვალდებულია, ხოლო SPI არ ადასტურებს, რომ მონაცემები მიღებული იქნა სწორად
- I2C შეიძლება ჩაკეტილი იყოს ერთი აპარატით, რომელიც ვერ ახერხებს კომუნიკაციის ავტობუსის გათავისუფლებას
- SPI- ს არ შეუძლია PCB- ის გამორთვა, ხოლო I2C- ს შეუძლია მონაცემთა გადაცემის დაბალი სიჩქარით
- I2C უფრო იაფია, ვიდრე SPI კომუნიკაციის პროტოკოლი
- SPI მხოლოდ მხარს უჭერს ერთი სამაგისტრო მოწყობილობა ავტობუსში ხოლო I2C მხარს უჭერს მრავალჯერადი სამაგისტრო მოწყობილობებს
- I2C ნაკლებად მგრძნობიარეა ხმაურით, ვიდრე SPI
- SPI- ს შეუძლია მხოლოდ მოკლე დისტანცია და PCB- ის იშვიათად გამორთვა, ხოლო I2C- ს შეუძლია მონაცემების გადაცემას ბევრად უფრო მეტი დისტანციებზე,
- ფორმალური სტანდარტის არარსებობამ გამოიწვია SPI პროტოკოლის რამდენიმე ვარიაცია, ვარიაციები, რომლებიც მეტწილად თავიდან აცილებული იყო I2C პროტოკოლით
ეს განსხვავებები SPI- სა და I2C- ს შორის უნდა გააკეთოთ საუკეთესო საკომუნიკაციო ვარიანტის შერჩევა თქვენი განაცხადისთვის ადვილია. ორივე SPI და I2C კარგი კომუნიკაციის პარამეტრებია, მაგრამ თითოეული მათგანს აქვს რამდენიმე განსხვავებული უპირატესობა და სასურველია განაცხადები. საერთო ჯამში, SPI უკეთესია მაღალი სიჩქარითა და დაბალი სიმძლავრის აპლიკაციებით, ხოლო I2C უკეთესია კომუნიკაციისთვის დიდი რაოდენობის პერიფერიებთან კომუნიკაციისთვის და I2C ავტობუსში პერიფერიულ მოწყობილობებში სამაგისტრო მოწყობილობის როლის დინამიური შეცვლა. ორივე SPI და I2C არის ძლიერი, სტაბილური კომუნიკაციის პროტოკოლები იმ ჩადგმული აპლიკაციებისათვის, რომლებიც კარგად არიან მორგებული მსოფლიოსთვის.