Analizând magistrala interfață periferică serială (SPI)

o magistrală serială poate fi mai eficientă decât magistrala paralelă tradițională. Dar există provocări în reprezentarea și înțelegerea fluxului de date seriale în contextul sincronizării ceasului. Aceste dificultăți pot fi rezolvate prin utilizarea capabilităților multi-canal ale osciloscoapelor avansate, cum ar fi instrumentele Tektronix Series 3000.

tek series 3000
osciloscoapele Tektronix Series 3000 pot afișa activitatea magistralei seriale, inclusiv date și semnale de ceas pe aceeași axă de timp.

cheia înțelegerii și interpretării datelor seriale și a fluxurilor de ceas constă în înțelegerea funcționării interioare a fiecărui tip individual de magistrală de date. Mai exact, luați în considerare magistrala Serial Peripheral Interface (SPI). Seamănă cu autobuzul I2C, dar există diferențe semnificative. Ambele sunt organizate în jurul arhitecturilor master/slave. Dar cablajul dintre stăpân și sclavi este radical diferit.

arhitectura SPI
conexiunile magistralei SPI constau din MOSI, MISO și o linie separată slave select de la master la fiecare slave. Logic-tensiunea joasă face sclavul activ.

de obicei, SPI funcționează cu un singur dispozitiv principal și un număr de sclavi, deși este posibil un singur sclav. Liniile sunt după cum urmează:
• o linie de ceas serial rulează de la master la fiecare sclav. Ceasul există în maestru și un semnal de ceas cu undă pătrată este transmis sclavului care este activ. Frecvența ceasului este aleasă de utilizator, dar nu poate fi mai rapidă decât este permisă pentru cel mai lent dispozitiv slave. Deci, fișele de date individuale slave ar trebui consultate în configurarea sistemului.

• stăpânește, sclav în (MOSI). Aceasta este linia care transmite datele transmise de maestru către orice sclav este activ. Linia se adresează tuturor sclavilor, dar cei care nu sunt activi o ignoră.
• Maestru – in, sclav-out (MISO). Această linie transmite date de la sclavul activ la maestru. Deoarece MOSI și MISO sunt linii separate, datele pot fi transmise în ambele direcții simultan, în detrimentul niciuneia.

magistrala SPI este uneori numită schemă cu trei fire sau schemă cu patru fire dacă numărați o linie SS pentru un singur sclav. Inutil să spun că fiecare dintre aceste fire este de fapt un circuit cu două fire, deci este necesară o linie de retur la sol, dar nu este luată în considerare în Nomenclatura numerică. Un singur conductor împământat va fi suficient pentru a finaliza toate aceste circuite.

Tektronix MDO Demo 1 bord oferă numeroase ieșiri, inclusiv I2C și SPI ceas de autobuz și semnale de date. Este destinat să meargă cu osciloscoapele din seria Tektronix MDO4000, dar funcționează bine și cu instrumentele din seria MDO3000.

placa Tektronix MDO Demo 1 primește energie printr-un cablu USB neobișnuit de tip T, care are conectori duali USB de tip A la un capăt. Acestea se introduc în cele două sloturi USB osciloscop. Motivul este că cerințele de alimentare ale plăcii Demo 1 sunt de așa natură încât, dacă ar fi utilizat un cablu USB standard, acesta ar supraîncărca o singură ieșire USB la osciloscop.

un LED roșu și două LED-uri verzi indică recepția puterii de la osciloscop și că placa este gata de pornire. Există numeroase terminale de ieșire pe placă. Acestea sunt potrivite pentru conectarea sondei folosind vârfurile cârligului sondei și clemele aligatorului de plumb de întoarcere la sol.

SPI semnal display
SPI ceas, MOSI și MISO semnale afișate în domeniul de aplicare Tektronix MDO3104.

pentru a afișa semnalele magistralei SPI, sondele TPP 1000 10:1 se conectează la intrările canalului analogic unu, doi și trei. Toate cablurile de retur la sol se conectează la unul dintre bornele de masă ale plăcii, iar cele trei vârfuri ale sondei sunt conectate la bornele de semnal SPI clock, MISO și MOSI. Ca întotdeauna, cablurile de retur la sol trebuie conectate mai întâi, înainte de vârfurile sondei.

s-ar putea folosi un al patrulea canal osciloscop pentru a afișa un semnal de selectare a sclavilor. Dar, deoarece acest semnal este doar o logică-înaltă sau logică-joasă tensiune, acesta poate fi verificat la ambele capete ale magistralei SPI folosind un multimetru standard de înaltă impedanță sau o sondă logică.

osciloscopul afișează apoi datele SPI și semnalele de ceas. Folosind butoanele de scară Channel One, Channel Two și Channel Three urmate de Autoset, impulsurile pot fi mărite pentru lizibilitate, iar achiziția poate fi oprită pentru a face afișajul mai stabil. Butoanele Wave Inspector pot fi folosite pentru a deplasa și mări urmele pentru o privire mai atentă. Apoi, este o chestiune simplă de a compara punctele de pe ceas și fluxurile de date pentru a stabili starea logică (înaltă sau joasă) în orice moment. Cursorul vertical, mutat prin rotirea butonului multifuncțional a, este util pentru a vedea cum se aliniază aceste urme în raport cu timpul.

am văzut cum SPI serial bus date și semnale de ceas pot fi vizualizate folosind un osciloscop. Sondele pot fi conectate la terminale similare într-un echipament electronic funcțional (sau nefuncțional). (Asigurați-vă că întoarceți achiziția înapoi pentru a rula.)

spre deosebire de I2C, nu există un singur standard pentru SPI. În anii 1980, a fost dezvoltat de Motorola pentru a fi utilizat de microcontrolerul din seria 68000. SPI este un standard de facto mai degrabă decât oficial și, ca atare, rămâne organic și supus schimbării.

alți producători au introdus SPI cu variații. Deci, în implementarea proiectului este necesar să se consulte fișele tehnice. De exemplu, unele dispozitive slave necesită o margine care se încadrează în semnalul SS pentru a iniția comunicarea. Când există mai multe tipuri de sclavi, sunt necesare semnale de inițiere diferite de la comandant. La fel ca I2C, SPI este un autobuz serial pe distanțe scurte. Datorită necesarului său redus de energie, este adesea utilizat în telefoane mobile, asistenți digitali personali și echipamente mobile similare pentru a implementa interacțiunea dintre procesor, afișaj, tastatură și circuite integrate.

variațiile includ omiterea liniei MISO atunci când comunicarea de la sclav la stăpân nu este necesară. De asemenea, linia SS nu este necesară atunci când există doar un singur sclav, iar pinul de selectare a sclavului este împământat, astfel încât este întotdeauna activ.

deși este adevărat că SPI este o interfață serială sincronă (SSI), aceasta diferă radical de protocolul SSI, care se caracterizează prin semnalizare diferențială și un singur canal de comunicare simplex.

SPI Shift registre există transmisie full-duplex, atât MOSI și MISO, în timpul fiecărui semnal de ceas. Un bit este trimis în fiecare direcție pe cele două linii separate. Procedura obișnuită folosește două registre de schimbare, unul în stăpân și unul în sclav. Transmisia Duplex continuă printr-un număr suficient de cicluri de ceas pentru a finaliza transmisia. În acest mod, stăpânul și sclavul dobândesc registrele așa cum sunt transmise pe cele două linii. Dacă rămân mai multe date, registrele de schimbare sunt reîncărcate și transmisia începe din nou.

acest proces continuă prin cât mai multe cicluri de ceas este necesar, după care comandantul permite semnalului select să meargă la logic high, deselectând sclavul. Transmisiile sunt adesea pe 8 biți, dar există variații precum 12 biți pentru multe DAC-uri și ADC-uri și 16 biți pentru controlerele cu ecran tactil.

din cauza diferențelor hardware și de facto de protocol, magistrala SPI are un spectru de avantaje și dezavantaje în ceea ce privește I2C și alte tipuri de magistrale. Avantajele includ capacitatea full-duplex doar prin adăugarea unei alte linii. Mai mult, există o bună integritate a semnalului, o transmisie de mare viteză și o transmisie de date mai potențială în comparație cu I2C. de asemenea, conținutul mesajului este nelimitat și nu este limitat la unitățile de date pe 8 biți. În general, cerința de putere este mai mică decât în I2C, deoarece rezistențele pull-up nu sunt necesare. SPI este, de asemenea, de încredere, deoarece nu are nevoie de arbitraj și nu este nevoie de adrese slave unice. Deoarece nu există o viteză maximă de ceas în afară de constrângerile dispozitivului slave, există potențialul de funcționare de mare viteză.

ca în orice tehnologie, există dezavantaje în ceea ce privește alte protocoale. Deoarece nu există o recunoaștere a sclavului, în caz de eșec al sclavului sau al cablării, maestrul, fără să știe că ceva nu este în regulă, ar putea vorbi într-un gol fără ascultător. De asemenea, lipsa unui singur standard formalizat poate face ca validarea conformității să fie impracticabilă. De asemenea, existența a numeroase variații si nereglementate poate face ca achiziția de hardware să fie problematică.

pe drum, este posibil SPI ar putea vedea un grad mai mare de codificare. Această dezvoltare va însemna îmbunătățiri suplimentare ale SPI care ar putea reduce confuzia care există acum. Acestea fiind spuse, Așa cum este implementat în prezent, SPI este destul de ușor de utilizat, în special în cerința sa pentru puțină putere.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

More: