W architekturze komputerowej autobus lub autobus (skrót od omnibus z łaciny) to system komunikacyjny, który przesyła dane między komponentami w obrębie lub między komputerami. Wyrażenie obejmuje wszystkie zaangażowane komponenty sprzętowe (takie jak kable lub światłowody) i oprogramowanie, a także protokoły.
Czym jest magistrala?
Wczesne komputery zawierały wbudowany procesor z zaworami, bęben magnetyczny jako pamięć główną oraz taśmę dziurkowaną i drukarkę do odczytu i zapisu danych. Nowoczesne systemy zazwyczaj mają wielordzeniowy procesor, DDR4 SDRAM, dodatkową pamięć masową, kartę graficzną i monitor LCD, a na końcu: mysz i klawiaturę do interakcji oraz połączenie Wi-Fi. W obu przykładach magistrala komputerowa w takiej czy innej formie przesyła dane między wszystkimi tymi urządzeniami. W większości tradycyjnych architektur komputerów procesor i pamięć główna są ze sobą ściśle powiązane. Mikroprocesor to zwykle pojedynczy układ scalony z szeregiem połączeń elektrycznych na jego stykach, które służą do wybierania „adresu” w pamięci głównej oraz innego zestawu styków używanych do odczytu i zapisu danych przechowywanych w tej lokalizacji. W większości przypadków procesor i pamięć mają wspólne właściwości semafora i działają synchronicznie. Jedną z charakterystycznych cech systemu jest magistrala łącząca procesor i pamięć, często nazywana po prostu magistralą systemową.
Czym jest I2C?
Kilku konkurentów, takich jak Siemens (później wydzielony z Infineon Technologies, obecnie Intel Mobile Communications Research), NEC, Texas Instruments, STMicroelectronics (dawniej SGS-Thomson), Motorola (później Phase One Carl, obecnie połączona z NXP), Nordic Semiconductor i Intersil wprowadza produkty kompatybilne z I2C od połowy lat 90. Magistrala zarządzania systemem (SMBus) zdefiniowana przez firmę Intel w 1995 roku jest podzbiorem I2C, a jej zastosowanie jest bardziej rygorystyczne. Nowoczesne systemy I2C obejmują pewne zasady i przepisy SMBus, czasami obsługujące zarówno I2C, jak i SMBus przy minimalnej rekonfiguracji poprzez wydawanie poleceń lub używanie styków wyjściowych w razie potrzeby.
Jak działa magistrala I2C?
Projekt referencyjny I2C ma 7-bitową przestrzeń adresową i rzadko korzysta z 10-bitowego rozszerzenia. Typowe prędkości magistrali I2C to 100 kbit/s w trybie standardowym i 400 kbit/s w trybie dużej szybkości. Dostępny jest również tryb wolny z szybkością 10 kbit/s, ale pozwala również na dowolnie niskie prędkości zegara. Najnowsze wersje I2C mogą obsługiwać więcej węzłów i działać z wyższymi prędkościami (tryb szybki 400 kbit/s, tryb Fast Plus 1 Mbit/s, tryb Super 3,4 Mbit/s i tryb Super Fast 5 Mbit/s). Prędkości te są częściej stosowane w systemach wbudowanych niż w komputerach PC. Typowe napięcia to 5 V lub 3,3 V, ale dopuszczalne są systemy z innymi napięciami. Rzeczywista szybkość transmisji danych użytkownika jest niższa niż sama szczytowa szybkość transmisji. Na przykład, jeśli każda interakcja z urządzeniem podrzędnym jest nieefektywna, pozwalając na przesłanie tylko 1 bajtu danych, szybkość transmisji danych będzie mniejsza niż połowa szczytowej szybkości transmisji bitów. Liczba węzłów, które mogą istnieć na danej magistrali I2C jest ograniczona przestrzenią adresową oraz całkowitą pojemnością magistrali wynoszącą 400 pF, co ogranicza rzeczywistą odległość komunikacji do kilku metrów. Względnie wysoka impedancja i niska odporność na zakłócenia wymagają wspólnego potencjału uziemienia, ponownie ograniczając praktyczne zastosowanie do komunikacji w obrębie tej samej płytki drukowanej lub systemów małych płytek.