Synkront seriellt gränssnitt

Synchronous Serial Interface (SSI) är en allmänt använd seriellt gränssnittsstandard för industriella applikationer mellan en master (t.ex. styrenhet) och en slav (t.ex. sensor). SSI är baserat på RS-422- standarder och har en hög protokolleffektivitet utöver dess implementering över olika hårdvaruplattformar, vilket gör den mycket populär bland sensortillverkare. SSI utvecklades ursprungligen av Max Stegmann GmbH 1984 för att överföra positionsdata för absolutkodare – av denna anledning hänvisar vissa servo-/drivutrustningstillverkare till sin SSI-port som ett "Stegmann Interface". Den omfattades tidigare av det tyska patentet DE 34 45 617 som löpte ut 1990. Den är mycket lämplig för tillämpningar som kräver tillförlitlighet och robusthet vid mätningar under varierande industriella miljöer.

Den skiljer sig från Serial Peripheral Interface Bus (SPI): En SSI-buss är differentiell , simplex , icke-multiplexerad och förlitar sig på en time-out för att rama in data. En SPI-buss är ensidig, duplex och använder en vallinje för att rama in data. Däremot kan SPI-kringutrustning på mikrokontroller implementera SSI med externa differentiella drivrutiner-IC:er och programstyrd timing.

Introduktion

SSI är en synkron, punkt-till-punkt, seriell kommunikationskanal för digital dataöverföring. Synkron dataöverföring är en i vilken data överförs genom att synkronisera överföringen vid mottagnings- och sändningsänden med användning av en gemensam klocksignal. Eftersom start- och stoppbitarna inte är närvarande tillåter detta bättre användning av dataöverföringsbandbredden för fler meddelandebitar och gör hela överföringsprocessen enklare och enklare. Klockan behöver sin egen bandbredd och bör inkluderas när man bestämmer den totala bandbredden som krävs för kommunikation mellan de två enheterna.

Figur 1 – SSI punkt till punkt kommunikation

I allmänhet, som tidigare nämnts, är det en punkt-till-punkt-anslutning från en master (t.ex. PLC, mikrokontroller) till en slav (t.ex. roterande omkodare ). Mastern styr klocksekvensen och slaven sänder aktuell data/värde genom ett skiftregister. När den anropas av mastern klockas data ut från skiftregistret. Mastern och slaven synkroniseras av styrenhetens gemensamma klocka.

KLOCK- och DATA-signalerna sänds enligt RS-422-standarder. RS-422, även känd som ANSI/TIA/EIA-422-B, är en teknisk standard som specificerar de elektriska egenskaperna hos den digitala gränssnittskretsen med balanserad spänning. Data överförs med hjälp av balanserad eller differentiell signalering, dvs. CLOCK- och DATA-linjerna är partvinnade kablar.

Ingångar kan använda en optokopplare för att förbättra elektromagnetisk interferens (EMI), vilket gör den till en pålitlig kommunikationskanal över långa överföringslängder och tuffa yttre miljöer.

SSI design

Gränssnittet har en enkel design som illustreras i figuren ovan. Den består av 2 par ledningar, en för att överföra klocksignalerna från mastern och den andra för att överföra data från slaven. Klocksekvenserna triggas av mastern när behov uppstår. Olika klockfrekvenser kan användas, allt från 100 kHz till 2 MHz och antalet klockpulser beror på antalet databitar som ska sändas.

Det enklaste SSI-slavgränssnittet använder en återutlösningsbar monostabil multivibrator (monoflop) för att frysa sensorns nuvarande värde. De aktuella frysta värdena för slaven lagras i skiftregister. Dessa värden klockas ut sekventiellt när de initieras av styrenheten. Designen revolutioneras genom att integrera mikrokontroller, FPGA och ASIC i gränssnittet.

Dataformatet är utformat på ett sådant sätt att säkerställa korrekt kommunikation av data. Protokollet för dataöverföringen är baserat på tre olika efterföljande delar (Leading-”1" -> Data-Bits -> Trailing-"0"). Den huvudsakliga betydelsen av denna typ av format är att säkerställa att gränssnittet fungerar korrekt. och därmed säker dataöverföring fri från maskin- eller mjukvarufel.

I viloläge är KLOCKAN på en hög nivå och sensorutgången på en hög nivå, så den kan användas för att upptäcka eventuella trasiga trådkontakter. Detta hjälper till att observera att gränssnittet fungerar korrekt.

Efter n-CLOCK-pulser (stigande flanker) överförs data fullständigt. Med nästa CLOCK-puls (stigande flank n+1) går sensorutgången till en låg nivå som kan användas för att detektera en kortslutning i kabeln. Om den är hög även efter n+1 stigande flanker betyder det att gränssnittet har en kortslutning.

Avläsningar från flera slavar (upp till tre) kan aktiveras samtidigt genom att ansluta dem till en gemensam klocka. För att undvika jordslingor och elektriskt isolera slaven krävs dock fullständig galvanisk isolering med optokopplare.

SSI timing och transmission

Följande nyckelord kommer att vara till hjälp för att förstå SSI-dataöverföringsproceduren.

  • 'tm' representerar överföringstiden (monoflop-tid). Det är den minsta tid som krävs av slaven för att inse att dataöverföringen är klar. Efter tm går datalinjen i viloläge och slaven börjar uppdatera sina data i skiftregistret.
  • 'tp' representerar paustiden. Det är tidsfördröjningen mellan två på varandra följande klocksekvenser från mastern.
  • 'tw' representerar upprepningstiden. Det är den minsta tid som förflutit mellan återsändningar av samma data och är alltid mindre än tm.
  • 'T' representerar bredden på varje klockcykel. Det är tiden det tar mellan två fallande eller två stigande flanker i en kontinuerlig klocksekvens.
  • MSB: Den viktigaste biten
  • LSB: Minst signifikanta bit

Enkel överföring

Enkel överföring av SSI-gränssnittet: 1. Frysning av data. 2. Överföring av den första databiten. 3. Slut på sändningen. 4. efter paustiden gick SSI tillbaka till viloläge – är redo för ny sändning.

Diagrammet illustrerar den enskilda dataöverföringen som använder SSI-protokollet:

SSI är initialt i viloläge, där både data- och klocklinjerna förblir HÖG, och slaven fortsätter att uppdatera sina aktuella data.

Sändningsmoden framkallas när mastern initierar ett tåg av klockpulser. När slaven väl tar emot början av klocksignalen (1) fryser den automatiskt sina aktuella data. Med den första stigande flanken (2) av klocksekvensen sänds MSB för sensorns värde och med efterföljande stigande flanker sänds bitarna sekventiellt till utgången.

Efter sändningen av det fullständiga dataordet (3) (dvs LSB sänds) sätter en ytterligare stigande flank på klockan klocklinjen HÖG. Datalinjen är inställd på LÅG och förblir där under en tidsperiod, tm, för att känna igen överföringstiden. Om en klocksignal (begäran om datautmatning) tas emot inom den tiden, kommer samma data att sändas igen (multipel överföring).

Slaven börjar uppdatera sitt värde och datalinjen sätts till HÖG (viloläge) om det inte finns några klockpulser inom tiden, tm. Detta markerar slutet på en enda överföring av dataordet. När slaven väl tar emot en klocksignal åt gången, tp (>=tm), fryses det uppdaterade positionsvärdet och överföringen av värdet börjar som beskrivits tidigare.

Flera sändningar

Multipel överföring

Flera sändningar av samma data sker endast om det sker kontinuerlig klockning även efter sändningen av den minst signifikanta biten, dvs. klockpulserna tillåter inte monoflop att gå till ett stabilt tillstånd. Detta illustreras nedan.

De initiala sekvenserna är desamma som för den enskilda sändningen. I vilotillståndet är KLOCKA- och DATA-linjerna höga men med ankomsten av den första fallande flanken framkallas överföringsmoden och på samma sätt sänds databitarna sekventiellt, med början med MSB:n med varje stigande flank. Överföringen av LSB innebär att överföringen av uppgifterna är slutförd. En ytterligare stigande kant skjuter datalinjen till LOW, vilket indikerar slutet på överföringen av den specifika datan.

Men om det finns kontinuerliga klockpulser även efter det (dvs nästa klockpulser kommer i tiden tw (< tm )) uppdateras inte slavens värde. Detta beror på att monoflop fortfarande är ostadig och värdet i skiftregistret fortfarande innehåller samma värde som tidigare. Så med nästa stigande flank, dvs efter n+1 stigande flank, fortsätter överföringen av samma data och MSB av data som sänts tidigare återsänds i slutet av tw.

Sedan följer den samma procedur som tidigare sändningar, vilket leder till flera sändningar av samma data. Värdet på slaven uppdateras endast när timingen mellan två klockpulser är mer än överföringstiden, tm.

Multipel överföring används för att kontrollera dataintegriteten. De två på varandra följande mottagna värdena jämförs, skillnader mellan de två värdena indikerar överföringsfel.

Avbryter sändningen

Överföringen av data styrs av mastern och överföringen kan avbrytas när som helst genom att stoppa klocksekvensen under en längre period än tm. Slaven kommer automatiskt att känna igen överföringstiden och gå in i viloläge.

Kabeldragning – enligt RS-422 standarder

Kabellängd kontra signaleringshastighet

Eftersom SSI är baserat på RS-422-standarder är det nödvändigt att välja lämpliga kablar och hålla sig inom gränserna för kabellängd och klockfrekvenser.

Relationen mellan kabellängden och klockfrekvensen visas i följande figur. Detta kan användas som en konservativ vägledning. Denna kurva är baserad på empiriska data med en 24 AWG standard, kopparledare, oskärmad tvinnad telefonkabel med en shuntkapacitans på 52,5 pF/meter (16 pF/fot) avslutad i en 100 Ohm resistiv belastning. Kabellängdsbegränsningen som visas av kurvan är baserad på antagna krav på belastningssignalkvalitet för:

  1. Signalens stig- och falltider lika med eller mindre än, en halv enhetsintervall vid tillämplig dataväxlingshastighet.
  2. En maximal spänningsförlust mellan generator och last på 66 %

När höga datahastigheter används är applikationen begränsad till kortare kablar. Det är möjligt att använda längre kablar när låga datahastigheter används. Kabelns DC-resistans begränsar kabelns längd för tillämpningar med låg datahastighet genom att öka brusmarginalen när spänningsfallet i kabeln ökar. Kabelns AC-effekter begränsar kvaliteten på signalen och begränsar kabellängden till korta avstånd när höga datahastigheter används. Exempel på kombinationer av datahastighet och kabellängd varierar från 90 kbit/s vid 1,2 km till 10 Mbit/s vid 5 m för RS-422.

Kablar med egenskaper som skiljer sig från det tvinnade paret 24 AWG, 52,5 pF/meter (16 pF/fot), kan också användas inom de ovan nämnda gränserna. Bestäm först det absoluta slingmotståndet och kapacitansvärdena för den typiska 24 AWG-kabeln som tillhandahålls av kabellängden som är associerad med datasignaleringshastigheten som önskas i figuren. Konvertera sedan dessa värden till motsvarande längder på kabeln som faktiskt används. Till exempel skulle längre avstånd vara möjliga när man använder 19 AWG, medan kortare avstånd skulle behövas för 28 AWG.

Den maximalt tillåtna kabellängden som separerar master och slav är en funktion av datasignaleringshastigheten och påverkas av den tolererbara signaldistorsionen, mängden longitudinellt kopplat brus och jordpotentialskillnader som introduceras mellan master- och slavkretsen. Användare rekommenderas därför att begränsa kabellängden till ett minimum. Typen och längden på kabeln som används måste kunna bibehålla den nödvändiga signalkvaliteten som behövs för den specifika applikationen. Dessutom måste kabelbalansen vara sådan att den upprätthåller acceptabla överhörningsnivåer, både genererade och mottagna.

Härledda protokoll

Vissa tillverkare och organisationer lade till ytterligare information till det grundläggande SSI-protokollet. Det gjordes främst för att säkerställa korrekt dataöverföring. För säker överföring och för att indikera slutet av dataöverföringen kan CRC-bitar eller paritetsbitar läggas till. Med enkla ord användes de för att identifiera om byten har tolkats och tagits emot korrekt. I den ursprungliga specifikationen användes flera överföringar för att säkerställa dataintegritet. I det här fallet initierades två på varandra följande överföringar av samma data och jämfördes för eventuella överföringsfel. Men detta minskar dock protokolleffektiviteten med 50 % jämfört med parallell dataöverföring.

Fördelar

  • Seriell dataöverföring har minskat kabeldragningen. Detta, förutom enkelheten med SSI-design på grund av användningen av minimalt antal komponenter, har avsevärt minskat kostnaden och skapat mer överföringsbandbredd för meddelandebitar.
  • Hög elektromagnetisk störningsimmunitet på grund av RS-422-standarder och högre tillförlitlighet för dataöverföring på grund av differentiell signalering.
  • Optimal galvanisk isolering
  • Fullständig protokollflexibilitet för antalet överförda bitar. Inte begränsat till ett visst antal ord och har ett godtyckligt val av meddelandestorlek.
  • Slavar använder master's clock och behöver därför inte precisionsoscillatorer.
  • SSI tillåter att ansluta upp till tre slavar till en gemensam klocka. Därför är det möjligt att uppnå värden från flera sensorer.

Begränsningarna i detta gränssnitt är försumbara för tillämpningar inom industriell automation. SSI kan endast hantera kortdistanskommunikation (upp till 1,2 km) och stöder endast en huvudenhet . Men 1,2 km är ganska bra avstånd för kommunikation enligt automationsindustristandarder. Jämfört med avancerade kommunikationssystem baserade på fältbussar eller Ethernet är SSI begränsad till en masterslavarkitektur och en enkel punkt-till-punkt-kommunikation mellan en master och en slav . En annan nackdel är att det inte finns någon hårdvaruslavbekräftelse, dvs detektering av slav för kommunikation.

Se även

externa länkar