Professional Documents
Culture Documents
Slično kao i IIC komunikacija i SPI (Serial Peripheral Interface) služi za povezivanje različitih komponeti, senzora
i drugih mikrokontrolera koji podržavaju ovakav vid komunikacije. Zbog toga mikrokontroleri su opremljeni
jednim interfejsom koji se zove MSSP( Master Synchronous Serial Port) koji može raditi u dva moda SPI i IIC
modu. Za komunikaciju uređaja i komponenti u SPI modu koriste se tri linije (a nekada i četiri).
Kod mikrokontrolera 18F45K22 SPI režim omogućava prenos 8 bitova podatakai oni se prenose i primaju
istovremeno koristeći 3 ulazno/izlazne linije:
Osim ove tri linije, postoji i četvrta linija (SS) koja se može koristiti ako mikrokontroler razmenjuje podatke sa
više perifernih uređaja (komunikacija vise mikrokontrolera). SS - Slave Select - je dodatni pin koji se koristi za
izbor određenog uređaja. Aktivan je samo kada je mikrokontroler u slave režimu, odnosno kada spoljašnji
master uređaj zahteva razmenu podataka.
Kada radi u SPI režimu, MSSP modul koristi ukupno 4 registra:
Prva tri registra služe za upisivanje /čitanje i mogu se promeniti u bilo kom trenutku, dok se četvrti registar,
pošto nije dostupan, koristi za konvertovanje podataka u „serijski“ format.
Kao što se vidi na slici ispod, centralni deo SPI modula se sastoji od dva registra povezana na pinove za prijem,
prenos i sinhronizaciju.
Shift registar (SSPRS) je direktno povezan sa pinovima mikrokontrolera i koristi se za prenos podataka u
serijskom formatu. SSPRS registar ima svoj ulaz i izlaz tako da pomera podatke u i iz uređaja. Drugim rečima,
svaki bit koji se pojavljuje na ulazu (prijemnoj liniji) istovremeno pomera drugi bit prema izlazu (prenosnoj
liniji). SSPBUF registar (Buffer) je deo memorije koji se koristi za privremeno čuvanje podataka pre slanja ili
neposredno nakon prijema. Nakon što je primljeno svih 8 bitova podataka, bajt se premešta iz SSPRS u SSPBUF
registar. Ovo dvostruko baferovanje primljenih podataka (SSPBUF) omogućava sledećem bajtu da započne
prijem pre čitanja podataka koji su upravo primljeni. Svako upisivanje u SSPBUF registar tokom
prenosa/prijema podataka biće zanemareno. Sa stanovišta programera, ovaj registar se smatra najvažnijim jer
mu se najčešće pristupa. Pri prenosu podataka preko SPI-a zapravo dolazi do upisivanja i čitanja podataka iz
ovog registra.