Sunteți pe pagina 1din 3

SPI bus: single master i single slave

Interfaa serial SPI


Interfaa seriala SPI (Serial Peripheral Interface) este o interfaa sincron standard de mare vitez, ce opereaz n mod full duplex. Numele ei a fost dat de Motorola. a e folosit ca sistem de ma!istral serial sincron pentru transmiterea de date, unde circuitele di!itale pot s fie interconectate pe principiul master" slave. #ici, modul master$slave nseamn, c dispozitivul (circuitul) di!ital master ini iaz cuv%ntul de date. Mai multe dispozitive (circuite) di!itale slave sunt permise cu slave select individual, adic cu selectare individual.

Interfaa
SPI"ul are patru semnale lo!ice specifice.

S&'( " &eas serial (output din master) M)SI$SIM) " Master )utput, Slave Input (output din master) MIS)$S)MI " Master Input, Slave )utput (output din slave) SS " Slave Select (active lo*+ output din master)

)perare
Interfaa SPI poate opera cu un sin!ur dispozitiv master i unul sau mai multe dispozitive slave. ,ac un sin!ur dispozitiv slave este utilizat, pinul pentru SS poate fi setat pe nivelul lo!ic -lo*-(-.os-) dac dispozitivul permite. /nele slave"uri necesit pentru selec ie, -fallin! ed!e- (tranzi ie de la nivelele nalt$hi!h0.oas$lo*) al slave"selectului pentru a iniia o ac iune, precum circuitul #,& (convertor analo!ic" di!ital) Maxim M#12343, care ncepe conversia la tranziia respectiv. &u multiple slave"uri, un semnal SS independent este necesar de la master pentru fiecare dispozitiv (circuit) di!ital slave. Ma.oritatea dispozitivelor slave au trei stri lo!ice (en. tri"state), aa c semnalul MIS) devine -deconectat(ieire n !ol) atunci c%nd dispozitivul nu este selectat. ,ispozitivele fr trei stri lo!ice nu pot mpr i (nu pot participa la) ma!istrala SPI cu alte dispozitive+ doar acele slave"uri pot comunica cu master"ul i doar dac au activat chip"selectul.

Transmisia de date
Pentru a ncepe comunicarea, master"ul mai nt%i confi!ureaz ceasul, folosind o frecven mai mic sau e!al cu maximul frecvenei suportata de slave. #ceste frecvene sunt de o5icei n intervalul 2"67 M8z. #tunci master"ul seteaz slave select"ul pe nivelul 9.os9 (en. lo*) pentru chip"ul dorit. ,ac este necesar o perioada de ateptare (ca la conversia analo!"di!ital) atunci master"ul a teapt cel pu in acea perioad de timp nainte de a ncepe ciclurile de ceas. :n timpul fiecrui ciclu de ceas SPI, apare o transmisie full duplex;

master"ul trimite un 5it pe linia M)SI+ slave"ul il citete de pe aceea i linie slave"ul trimite un 5it pe linia MIS)+ master"ul il citete de pe aceeai linie

Nu toate transmisiile de date necesita toate aceste opera ii (de ex. transmisia unidirec ionala) de i acestea se petrec. In mod normal, transmisia implica existenta a doi re!itrii de date de o lun!ime a oarecare a cuv%ntului, cum ar fi opt 5ii, unul situat n dispozitivul master i celalalt n dispozitivul slave+ ei sunt conecta i ntr"o confi!ura ie de tip inel. Informaia este de o5icei transferata ncep%nd cu cel mai semnificativ 5it (en; Most Significant Bit MSB), si continu%nd 5it cu 5it pana se transfera si cel ma nesemnificativ 5it (en!; Least Significant Bit - LSB) pentru acelai re!istru. In aceasta faza, putem afirma ca cele doua dispozitive master$slave i"au schim5at valorile din re!itrii. Imediat dupa, fiecare dispozitiv cite te valoarea stocata n re!istrul de date i o prelucreaz, cum ar fi scrierea ntr"o locatie de memorie. ,aca mai sunt date de schim5at, re!i trii de schim5 sunt ncrcai cu noi date i procesul se repeta. <ransmisiile pot include un numr ar5itrar de cicluri de ceas. &%nd transmisia datelor s"a ncheiat, master"ul oprete comutarea ceasului. In mod normal, are loc si deselectarea slave"ul prin intermediul liniei de selec ie dedicate. #desea transmisiile sunt de cuvinte a opt 5ii, si master"ul poate ini ia multiple transmisii dac are nevoie. &u toate astea, alte mrimi ale cuv%ntului sunt o5inuite, cum ar fi cuvinte de 2= 5i i pentru controller"ul de touch" screen sau codec"uri audio ca <S&3272 de la <exas Instruments+ sau cuvinte de 23 5i i pentru diverse convertoare di!itale"analo! sau convertoare analo!"di!itale. >iecare slave de pe ma!istrala care nu a fost activat folosind slave select"ul aferent, nu tre5uie sa ia in considerare semnalul de ceas precum si datele de pe linia M)SI si sa nu transmit nimic pe linia MIS). Master"ul tre5uie sa selecteze doar un slave la un moment dat.

Polaritatea si faza ceasului

In plus fata de setarea frecventei ceasului, master"ul tre5uie sa confi!ureze polaritatea si faza ceasului respectand datele. #ceste doua optiuni a fost numite &P)' si &P8# in ->reescale9s SPI ?loc@ Auide-, iar cei mai multi producatori le"au adoptat. ,ia!rama de timp este afisata in dreapta. <impul este descris mai .os si se aplica atat dispozitivelor master cat si celor slave.

'a &P)'B7 valoarea ceasului este zero Pentru &P8#B7 data este capturata pe tranzitia .os0sus si este propa!ata pe tranzitia sus0.os a ceasului.

Pentru &P8#B2, data e capturata pe tranzitia sus0.os si propa!ata pe tranzitia .os0sus. 'a &P)'B2 valoarea ceasului este unu Pentru &P8#B7 daca e capturata pe tranzitia sus0.os a ceasului si propa!ata pe tranzitia .os0sus.

Pentru &P8#B2 data e capturata pe tranzitia .os0sus si propa!ata pe tranzitia sus0.os.

&u valoarea &P8#B7 data tre5uie sa fie sta5ila o .umatate de ciclu inainte de primul ciclu de ceas. Pentru toate modurile &P)' si &P8#, valoarea initiala a ceasului tre5uie sa fie sta5ila inainte ca chipul sa selecteze linia activa.

S-ar putea să vă placă și