Kas yra nuoseklioji periferinė sąsaja?

Nuoseklioji periferinė sąsaja (SPI) yra nebrangi keturių laidų pilna dvipusė sinchroninio nuoseklaus ryšio duomenų srauto sąsaja, veikianti pagrindinio ir pavaldinio ryšiu. Duomenų perdavimas nuosekliuosiuose įrenginiuose vyksta po vieną bitą, todėl SPI yra mažos spartos sąsaja. Jis dažniausiai naudojamas kaip jungtis tarp integrinių grandynų su integruotais lėtais periferiniais įrenginiais, kurie pasiekiami su pertrūkiais. Jis konkuruoja su lygiagrečiais duomenų perdavimo įrenginiais, tačiau didėjant SPI efektyvumui, pirmųjų pranašumas mažėja. SPI kartais vadinamas „mikrolaidu“, nors tai laikoma SPI pogrupio protokolu.

Duomenų perdavimas naudojant nuosekliąją periferinę sąsają vyksta naudojant pilno dvipusio ryšio protokolą. Duomenys perduodami ir priimami abiem kryptimis tuo pačiu metu. SPI naudojančios programos šiuo režimu įgyja daug efektyvumo; viena tokia programa yra tarp koderio-dekoderio (kodeko) ir skaitmeninio signalo procesoriaus (DSP). Kitos programos apima temperatūros ir slėgio jutiklius, taip pat „flash“ atmintį.

Kai susisiekia du nuosekliosios periferinės sąsajos įrenginiai, vienas įrenginys vadinamas „pagrindiniu“, o kitas – „pagalba“. Pagrindinis įrenginys inicijuoja visus ryšius, siųsdamas signalus į pavaldų įrenginį. Nuoseklioji periferinės sąsajos magistralė gali prijungti kelis pagalbinius įrenginius prie vieno pagrindinio pagrindinio įrenginio.

Nuosekliosios periferinės sąsajos įrenginiai naudoja tris registrus – valdymo registrą (SPCR), būsenos registrą (SPSR) ir duomenų registrą (SPDR) – siųsdami duomenis kartu su keturiais skirtingais signalais. Pirmasis signalas vadinamas serijiniu laikrodžiu (SCLK), kurį generuoja tik pagrindinis įrenginys. Po to seka valdančiojo išvesties slave-in (MOSI), pagrindinio įvesties vergo įvesties (MISO) ir pavaldinio pasirinkimo (SSn), kur „n“ yra pagalbinių įrenginių, prie kurių prijungtas pagrindinis įrenginys, skaičius.

Įprastoje vieno pavaldinio konfigūracijoje inžinierius, norintis naudoti nuosekliąją periferinę sąsają, prijungtų SCLK prie pagalbinio įrenginio įvesties. Tada MOSI perduoda duomenis iš pagrindinio įrenginio į pavaldų įrenginį, o MISO perduoda duomenis iš pavaldinio į pagrindinį įrenginį. Norint nustatyti, kuris įrenginys yra pagrindinis, o kuris – pavaldinis, pirmasis sujungia pagrindinį SSn prie pavaldinio SSn ir generuoja bendros paskirties diskrečiųjį įvesties / išvesties signalą pastarajam.

Norint sujungti kelis pavaldinius prie vieno pagrindinio valdymo nuosekliojoje periferinėje sąsajoje, atskiri SSn signalai prijungiami iš pagrindinio įrenginio į atskirus pavaldinius. Pavyzdžiui, SS1 yra prijungtas prie Slave 1, SS2 yra prijungtas prie Slave 2 ir pan. Panašiai kaip vieno pavaldinio konfigūracija, SCLK yra prijungtas nuo pagrindinio įrenginio prie kelių pavaldinių. MOSI yra prijungtas nuo pagrindinio prie vergų, taip pat MISO nuo vergų prie pagrindinio.