en seriel bus kan være mere effektiv end den traditionelle parallelle bus. Men der er udfordringer med at repræsentere og give mening om den serielle datastrøm i forbindelse med urtiming. Disse vanskeligheder kan løses ved hjælp af multi-kanal kapaciteter af avancerede oscilloskoper såsom Tektroniks serie 3000 instrumenter.
nøglen til at forstå og fortolke de serielle data og urstrømme ligger i at forstå de indre funktioner i hver enkelt type databus. Overvej specifikt den serielle perifere grænseflade (SPI) bus. Det ligner I2C-bussen, men der er betydelige forskelle. Begge er organiseret omkring master / slave arkitekturer. Men ledningerne mellem master og slaver er radikalt forskellige.
typisk opererer SPI med en enkelt masterenhed og et antal slaver, selvom så få som en slave er mulig. Linjerne er som følger:
• en seriel ur linje løber fra master til hver slave. Uret findes i master og en firkantet-bølge ur signal formidles til slaven, der er aktiv. Klokfrekvensen vælges af brugeren, men den kan ikke være hurtigere end tilladt for den langsomste slaveenhed. Så individuelle slave datablade bør konsulteres i opsætningen af systemet.
• Master-out, slave-in (MOSI). Dette er den linje, der formidler data som transmitteret af mesteren til den slave, der er aktiv. Linjen løber til alle slaver, men de, der ikke er aktive, ignorerer det.
* Master-in, slave-out (MISO). Denne linje formidler data fra den aktive slave til mesteren. Fordi MOSI og MISO er separate linjer, kan data overføres i begge retninger samtidigt til skade for ingen af dem.
* Slave select (SS). En separat linje køres til hver slave. Normalt, når systemet tændes, er en logisk højspænding fra masteren til stede ved SS-stiften på hver slaveenhed. For at aktivere en slave skifter masteren spændingen på den SS-linje til logik lav. Denne metode til slavevalg er i stedet for adresseringskonceptet som implementeret i I2C-bussen.
SPI-bussen kaldes undertiden en tretrådsordning eller en firetrådsordning, hvis du tæller en SS-linje for en enkelt slave. Det er overflødigt at sige, at hver af disse ledninger faktisk er et to-leder kredsløb, så der kræves en jordreturlinje, men det betragtes ikke i den numeriske nomenklatur. En enkelt jordet leder vil være tilstrækkelig til at fuldføre alle disse kredsløb.
den TEKTRONIKS MDO Demo 1 bord giver mange udgange, herunder I2C og SPI bus ur og datasignaler. Mdo4000-serien oscilloskoper, men det fungerer også godt med mdo3000-serien instrumenter.
Tektroniks MDO Demo 1-kort modtager strøm via et usædvanligt T-Type USB-kabel, der har dobbelt USB type A-Stik i den ene ende. De indsættes i de to oscilloskop USB-slots. Begrundelsen er, at strømkravene til Demo Board 1 er sådan, at hvis et standard USB-kabel skulle bruges, ville det overbelaste en enkelt USB-udgang ved oscilloskopet.
en rød og to grønne lysdioder indikerer modtagelse af strøm fra oscilloskopet, og at brættet er klar til at gå. Der er adskillige udgangsterminaler på tavlen. De er velegnede til sondetilslutning ved hjælp af sondekrogspidser og jordreturførende alligatorklip.
for at vise SPI-bussignaler tilsluttes TPP 1000 10:1 sonder til analoge kanalindgange en, to og tre. Alle jordreturledninger forbinder til en af bestyrelsens jordterminaler, og de tre sondespidser er tilsluttet SPI-uret, MISO-og MOSI-signalterminalerne. Som altid skal jordreturledningerne tilsluttes først, før sondespidserne.
man kunne bruge en fjerde oscilloskopkanal til at vise et slave-select-signal. Men fordi dette signal kun er en logisk-høj eller logisk-lav spænding, kan det verificeres i begge ender af SPI-bussen ved hjælp af et standard multimeter med høj impedans eller logisk sonde.
oscilloskopet viser derefter SPI-data og ursignaler. Ved hjælp af kanal en, kanal to og kanal tre skala knapper efterfulgt af Autoset, kan pulserne forstørres for læsbarhed, og erhvervelsen kan stoppes for at gøre displayet mere stabilt. Bølgeinspektørknapperne kan bruges til at panorere og forstørre sporene for et nærmere kig. Så er det et simpelt spørgsmål at sammenligne punkter på uret og datastrømme for at fastslå logiktilstanden (høj eller lav) på ethvert tidspunkt. Den lodrette markør, der flyttes ved at dreje Multifunktionsknap A, er nyttig til at se, hvordan disse spor stemmer overens med tiden.
vi har set, hvordan SPI serielle busdata og ursignaler kan visualiseres ved hjælp af et oscilloskop. Proberne kan tilsluttes lignende terminaler i et fungerende (eller ikke-fungerende) stykke elektronisk udstyr. (Sørg for at vende købet tilbage til at køre.)
i modsætning til I2C er der ingen enkelt standard for SPI. I 1980 ‘ erne blev den udviklet af Motorola til brug af 68000-serien mikrocontroller. SPI er en de facto snarere end officiel standard, og som sådan forbliver den organisk og kan ændres.
andre producenter har introduceret SPI med variationer. Så i implementeringen af designet er det nødvendigt at konsultere datablade. For eksempel kræver nogle slaveenheder en faldende kant i SS-signalet for at starte kommunikation. Når der er flere slave typer, forskellige initierende signaler fra master er påkrævet. Ligesom I2C er SPI en seriel bus med kort afstand. På grund af dets lave strømbehov bruges det ofte i mobiltelefoner, personlige digitale assistenter og lignende mobilt udstyr til at implementere interaktion mellem CPU, skærm, tastatur og integrerede kredsløb.
variationer inkluderer udeladelse af MISO-linjen, når kommunikation fra slave til mester er unødvendig. SS-linjen er heller ikke nødvendig, når der kun er en enkelt slave, og slave-select-stiften er jordet, så den altid er aktiv.
selvom det er rigtigt, at SPI er en synkron seriel grænseflade (SSI), adskiller den sig radikalt fra SSI-protokollen, som er kendetegnet ved differentiel signalering og en enkelt simpleks kommunikationskanal.
der er fuld duplekstransmission, både MOSI og MISO, under hvert ursignal. En bit sendes i hver retning på de to separate linjer. Den sædvanlige procedure anvender to skiftregistre, en i mesteren og en i slaven. Duplekstransmission fortsætter gennem et tilstrækkeligt antal urcyklusser til at fuldføre transmissionen. På denne måde erhverver mester og slave registre som formidlet over de to linjer. Hvis der stadig er flere data, genindlæses skiftregistrene, og transmissionen begynder på ny.
denne proces fortsætter gennem så mange urcyklusser som nødvendigt, hvorpå masteren tillader select-signalet at gå til logic high og fravælge slaven. Transmissioner er ofte 8-bit, men der er variationer som 12-bit for mange DAC ‘er og ADC’ er og 16-bit for touchscreen-controllere.
på grund af udstyrs-og de facto-protokolforskelle har SPI-bussen et spektrum af fordele og ulemper med hensyn til I2C og andre bustyper. Fordele omfatter fuld dupleks kapacitet blot ved at tilføje en anden linje. Derudover er der god signalintegritet, højhastighedstransmission og mere potentiel datatransmission sammenlignet med I2C. meddelelsesindhold er også ubegrænset og ikke begrænset til 8-bit dataenheder. Generelt er strømbehovet mindre end i I2C, fordi pull-up modstande er unødvendige. SPI er også pålidelig, fordi det behøver ingen voldgift, og der er ikke behov for unikke slave adresser. Da der ikke er nogen maksimal klokhastighed bortset fra begrænsninger i slaveenheden, er der potentialet for højhastighedsdrift.
som i enhver teknologi er der ulemper med hensyn til nogle andre protokoller. Fordi der ikke er nogen slave anerkendelse, i tilfælde af slave eller kabelfejl, mesteren, uvidende om at noget er galt, kunne tale i et tomrum uden lytter. Manglen på en enkelt formaliseret standard kan også gøre overensstemmelsesvalidering upraktisk. Eksistensen af adskillige uregulerede si-variationer kan også gøre erhvervelsen af udstyr problematisk.
ned ad vejen er det tænkeligt, at SPI kunne se en større grad af kodifikation. Denne udvikling vil betyde yderligere SPI-forbedringer, der kan reducere den forvirring, der nu findes. Når det er sagt, som i øjeblikket implementeret, er SPI ret brugervenlig, især i sit krav om lidt strøm.