Serial perifere grensesnitt , eller SPI , er en protokoll som regulerer overføring av data i elektroniske kretser . Kretskort designere bruker den for å aktivere mikroprosessorer for å utveksle data med minnekort , sensorer og andre prosessorer. Komponentene sende data i form av biter langs ledninger eller kretskortet stier . Den sender komponent må signalisere sitt mål at data kommer og hvor du skal lete etter den. SPI konfigurerer grensesnittet for å være sikker på mottakersiden komponent får de forventede data . Basic Structure
Under SPI , kan en master komponent utveksle data med slave komponenter. The master komponent har en klokke som sender klokkes signal som styrer dataoverføring , mens slave komponentene bruke master- signal. Komponentene utveksle data via fire ledninger . En ledning bærer klokkes signalet og en annen velger hvilket slave mottar dataene. De andre to ledninger bære dataene og er master -in - slave -out og master - out- slave - i ledninger. Både master og slavene kan sende eller motta data .
Klokkes
SPI angir klokkes signal slik at master-og slave komponenter sende og motta en bestemt bit av data på samme tid . Den sender komponent sender en bit av data for hver klokke syklus . Når den mottar et signal klokkesyklus , leser den mottakende komponent dens inngang ledning for å se om den mottatte bit er et ett eller 0 . Den klokkes signal sikrer at mottak komponent leser innspill ledningen samtidig som den sender komponent sender bit av data på tvers av sin egen utgang wire.
Data
to data ledninger koble alle slaver til master og bære datatrafikk i motsatt retning. Master -in - slave -out tilkobling overfører data fra slave til master , mens master - out- slave -in ledningen bærer data i den andre retningen . The Master - out data går til alle slaver , men signalet fra slave -select ledning avgjør hvilken slave aksepterer data . Hver slave kan sende data på master -in - slave -out wire, men bare master aksepterer det fordi det er på slave -utgang tilkobling.
Operation
under en vanlig operasjon , kan en mikroprosessor som fungerer som en master trenger data som er lagret på et minnekort . Det sender en klokke puls til minnekortet på klokken wire og en kommando på master - out- slave -in wire. Minnekortet får pulsen på klokken wire og ser på sitt innspill til å lese kommandoen . Det sender innholdet i minnet på master -in - slave -out wire, en bit hver klokke syklus . Mikroprosessoren mottar minnet data på sitt innspill og kan fortsette å behandle den videre .