en seriell buss kan vara effektivare än den traditionella parallella bussen. Men det finns utmaningar att representera och förstå det seriella dataflödet i samband med klocktidpunkten. Dessa svårigheter kan lösas genom att använda flerkanalsfunktionerna hos avancerade oscilloskop som Tektronix Series 3000-instrumenten.
nyckeln till att förstå och tolka seriella data och klockströmmar ligger i att förstå det inre arbetet i varje enskild typ av databuss. Tänk specifikt på SPI-bussen (Serial Peripheral Interface). Det liknar I2C-bussen, men det finns betydande skillnader. Båda är organiserade kring master / slave-arkitekturer. Men ledningarna mellan mästare och slavar är radikalt annorlunda.
vanligtvis fungerar SPI med en enda huvudanordning och ett antal slavar, även om så få som en slav är möjlig. Linjerna är följande: • Slav välj (SS). En separat linje körs till varje slav. Normalt, när systemet startar, är en logisk högspänning från mastern närvarande vid SS-stiftet för varje slavanordning. För att aktivera en slav växlar mastern spänningen på den SS-linjen till logic low. Denna metod för slavval är i stället för adresseringskonceptet som implementerat i I2C-bussen.
SPI-bussen kallas ibland ett tre-trådschema eller ett fyrtrådschema om du räknar en SS-linje för en enda Slav. Naturligtvis är var och en av dessa ledningar faktiskt en tvåtrådig krets, så en markreturlinje krävs, men den beaktas inte i den numeriska nomenklaturen. En enda jordad ledare räcker för att slutföra alla dessa kretsar.
Tektronix Mdo Demo 1-kortet ger många utgångar inklusive I2C-och SPI-bussklocka och datasignaler. Det är tänkt att gå med Tektronix mdo4000-seriens oscilloskop, men det fungerar också bra med mdo3000-seriens instrument.
Tektronix Mdo Demo 1-kortet tar emot ström via en ovanlig t-Typ USB-kabel som har dubbla USB-Typ A-kontakter i ena änden. De sätter in i de två oscilloskopens USB-kortplatser. Motiveringen är att Effektkraven för Demo Board 1 är sådana att om en vanlig USB-kabel skulle användas skulle den överbelasta en enda USB-utgång vid oscilloskopet.
en röd och två gröna lysdioder indikerar mottagning av ström från oscilloskopet och att kortet är redo att gå. Det finns många utgångsterminaler på brädet. De är lämpliga för sondanslutning med hjälp av sondkrokspetsar och alligatorklämmor för jordretur.
för att visa SPI – bussignaler ansluts TPP 1000 10: 1-sonder till analoga kanalingångar en, två och tre. Alla markreturledningar ansluts till en av styrelsens jordterminaler, och de tre sondspetsarna är anslutna till SPI-klockan, MISO-och MOSI-signalterminalerna. Som alltid bör markreturledningarna anslutas först innan sondspetsarna.
man kan använda en fjärde oscilloskopkanal för att visa en slavvalssignal. Men eftersom denna signal bara är en logisk-hög eller logisk-låg spänning, kan den verifieras i båda ändarna av SPI-bussen med hjälp av en standard högimpedans multimeter eller logisk sond.
oscilloskopet visar sedan SPI-data och klocksignaler. Med hjälp av Channel One, Channel Two och Channel Three-skalknapparna följt av Autoset kan pulserna förstoras för läsbarhet och förvärvet kan stoppas för att göra skärmen stabilare. Wave Inspector rattar kan användas för att panorera och zooma spåren för en närmare titt. Då är det en enkel sak att jämföra punkter på klockan och dataströmmar för att fastställa logiktillståndet (högt eller lågt) när som helst. Den vertikala markören, rörd genom att vrida multifunktionsratten a, är till hjälp för att se hur dessa spår stämmer överens med tiden.
vi har sett hur SPI seriella bussdata och klocksignaler kan visualiseras med hjälp av ett oscilloskop. Sonderna kan anslutas till liknande terminaler i en fungerande (eller icke fungerande) elektronisk utrustning. (Var noga med att vända förvärvet tillbaka för att köra.)
till skillnad från I2C finns det ingen enda standard för SPI. På 1980-talet utvecklades den av Motorola för användning av 68000-serien mikrokontroller. SPI är en de facto snarare än officiell standard, och som sådan förblir den organisk och kan ändras.
andra tillverkare har introducerat SPI med variationer. Så vid genomförandet av designen är det nödvändigt att konsultera datablad. Till exempel kräver vissa slavanordningar en fallande kant i SS-signalen för att initiera kommunikation. När det finns flera slavtyper krävs olika initieringssignaler från mastern. Liksom I2C är SPI en kortdistans seriell buss. På grund av sitt låga effektbehov används det ofta i mobiltelefoner, personliga digitala assistenter och liknande mobilutrustning för att implementera interaktion mellan CPU, display, Tangentbord och integrerade kretsar.
variationer inkluderar att utelämna MISO-linjen när kommunikation från slav till mästare är onödig. SS-linjen behövs inte när det bara finns en enda slav, och slave-select-stiftet är jordat så att det alltid är aktivt.
även om det är sant att SPI är ett synkront seriellt gränssnitt (SSI), skiljer det sig radikalt från SSI-protokollet, som kännetecknas av differentiell signalering och en enda simplex-kommunikationskanal.
det finns full duplex-överföring, både MOSI och MISO, under varje klocksignal. En bit skickas i varje riktning på de två separata linjerna. Det vanliga förfarandet använder två skiftregister, en i befälhavaren och en i slaven. Duplexöverföring fortsätter genom ett tillräckligt antal klockcykler för att slutföra överföringen. På detta sätt förvärvar mästare och slav registren som förmedlas över de två linjerna. Om mer data kvarstår laddas skiftregistren om och överföringen påbörjas på nytt.
denna process fortsätter genom så många klockcykler som behövs, varefter mastern tillåter select-signalen att gå till logic high, avmarkera slaven. Sändningar är ofta 8-bitars, men det finns variationer som 12-bitars för många DAC och ADC, och 16-bitars för pekskärmskontroller.
på grund av hårdvaru-och de facto-protokollskillnader har SPI-bussen ett spektrum av fördelar och nackdelar med avseende på I2C och andra busstyper. Fördelarna inkluderar full duplex kapacitet bara genom att lägga till en annan rad. Dessutom finns det god signalintegritet, höghastighetsöverföring och mer potentiell dataöverföring jämfört med I2C. meddelandeinnehållet är också obegränsat och inte begränsat till 8-bitars dataenheter. I allmänhet är effektbehovet mindre än i I2C eftersom dragmotstånd är onödiga. SPI är också pålitlig eftersom den inte behöver skiljedom, och det finns inget behov av unika slavadresser. Eftersom det inte finns någon maximal klockhastighet bortsett från slavanordningsbegränsningar finns det potential för höghastighetsdrift.
som i någon teknik finns det nackdelar med avseende på vissa andra protokoll. Eftersom det inte finns någon slavbekräftelse, i händelse av slav-eller kabelfel, kan mästaren, omedveten om att något är fel, prata i ett tomrum utan lyssnare. Bristen på en enda formaliserad standard kan också göra validering av överensstämmelse opraktisk. Förekomsten av många oreglerade SI-variationer kan också göra förvärvet av hårdvara problematiskt.
på vägen är det tänkbart att SPI kunde se en större grad av kodifiering. Denna utveckling kommer att innebära ytterligare SPI-förbättringar som kan minska den förvirring som nu finns. Som sagt, som för närvarande implementeras, är SPI ganska användarvänligt, särskilt i sitt krav på liten kraft.