TTP/A

TTP/A är ett tidsutlöst realtidsfältbussprotokoll som används för sammankoppling av billiga smarta omvandlarnoder . Till skillnad från Time-Triggered Protocol (TTP), som är ett höghastighets, feltolerant kommunikationsnät avsett för säkerhetskritiska applikationer ( SAE klass C), ger TTP/A en låg hastighet (under 1 MB/s) , lågkostnadsprotokoll lämpligt för icke-kritiska applikationer som bilkarosselektronik (SAE klass A).

TTP/A-nod baserad på en AVR AT90S4433 med en avståndssensor ansluten

Beskrivning

Tidsutlöst innebär att alla åtgärder är schemalagda vid fördefinierade tider. Scheman upprepas med jämna mellanrum för ett förutsägbart repetitivt beteende. Detta är för sensor- eller ställdonstillämpningar och slutna styrslingor, där godtyckliga meddelandefördröjningar förvärras eller till och med ogiltigförklarar resultatet.

Gränssnitt

TTP/A-protokollet implementerar ett kommunikationslager och dataåtkomst enligt Object Management Group smart transducer Interface-standarden som publicerades i slutet av 2002. Gränssnittet till varje transduktor är känt som ett Interface File System (IFS), som inkluderar både real- tidsdata, samt funktioner för konfiguration och nodhantering. IFS gör det möjligt att dela data mellan olika TTP/A-kluster på ett transparent sätt, så att för applikationen ingen skillnad görs mellan data från lokala och avlägsna noder. TTP/A-protokollet kräver ingen speciell styrenhetshårdvara och kan implementeras på vilken standard inbäddad mikrokontroller som helst. En implementering med öppen källkod finns för Atmel AVR- arkitekturen. Liksom det feltoleranta tidsutlösta protokollet TTP, följer TTP/A det tidsutlösta paradigmet med en klocksynkronisering och fördefinierade tidsutlösta scheman för kommunikation och utförande av uppgifter. Således implementerar TTP/A-kommunikation en strikt tidsdelad multipelaccess (TDMA) schemaläggning. TTP/A kan användas som en sub-buss för högre prestanda och mer pålitliga realtidssystem, eller för att tillhandahålla transducerdata till ett Linux -system på ett mjukt realtidssätt. TTP/A användes i applikationer som ett interkommunikationssystem för mobila robotar.

TTP/A är ett tidsutlöst protokoll som används för kommunikation av en aktiv master med eller mellan smarta transduktornoder inom ett kluster. Detta kluster styrs av mastern, som upprättar en gemensam tidsbas bland noderna. I händelse av ett masterfel kan en skuggmästare ta över kontrollen. Varje nod i detta kluster har ett unikt alias, ett 8-bitars (1 byte) heltal, som kan tilldelas noden a priori eller ställas in när som helst via konfigurationsgränssnittet.

Periodiskt tidsutlöst schema

Uppdelning av TTP/A-kommunikationsschemat

TTP/A-kommunikation är organiserad i rundor åtskilda av inter round gap (IRG). TTP/A-bussen är inaktiv i minst 13 bitar under varje mellanrum. En TTP/A-runda består av en eller flera ramar. En ram är en sekvens av byte som sänds av en nod. En byte sänds i en lucka som består av 13 bitars celler: en startbit, åtta databitar, en paritet, en stoppbitar och ett tvåbitars cellbrett mellan byte gap. Omgångarna är oberoende av varandra. Varje runda börjar med en fyrverkeribyte som skickas av mästaren. Ankomsten av fyrverkeribyten är en synkroniseringshändelse för varje nod i klustret och identifierar omgången. Enligt specifikationen för den valda omgången följs fyrverkeriramen av dataramar med specificerad längd från de angivna noderna. Varje sådan ram beskrivs av en post i den runda deskriptorlistan (RODL) i avsändarens och mottagarens filsystem. Eftersom luckpositionen vid vilken varje kommunikationsåtgärd äger rum är definierad a priori, är ingen ytterligare bussarbitrering nödvändig.

Sändningsramarna är baserade på universella asynkrona mottagar/sändarar ( UART) ramar. Detta gjorde att protokollet kunde implementeras med hjälp av mikrokontroller med en standard UART-modul. För låga överföringshastigheter är även en mjukvarubaserad implementering utan hårdvarustödd UART möjlig.

Flera artiklar publicerades av forskare vid Wiens tekniska universitet om TTP/A från 1994 till 2006 av Hermann Kopetz och Wilfried Elmenreich . Ett relaterat protokoll som kallas TTP/C beskrevs också 2003.