30.08.2013 Views

Untitled - MRTC

Untitled - MRTC

Untitled - MRTC

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Intern realtidskommunikation i framtida Svenska satelliter sid 25<br />

Martin Normark<br />

TTCAN. TTCAN´s svaghet ligger i dess något låga bandbredd (1 Mbps) samt dess bristande förmåga<br />

att identifiera och tysta ned en babbling idiot. TTCAN kan tänkas användas där CAN används idag,<br />

d.v.s. som systembuss och ev. som payloadbuss.<br />

5.5.1 Protokoll<br />

Utöver att erbjuda allting (med vissa undantag, som omsändning av felaktiga meddelanden) som CAN<br />

2.0 erbjuder, delar TTCAN [8] in tiden i cykler, som kallas basic cycle. I varje cykel finns av<br />

användaren fördefinierade separerade tidsfönster. Verksamheten inom varje tidsfönster är reglerad av<br />

användaren under utvecklingen av nätverket. Möjliga verksamheter inom ett tidsfönster är exklusiv<br />

sändning från en viss nod, arbitrering mellan alla noder, eller ett tomt fönster där ingen nod är tillåten<br />

att sända. Syftet med tomma fönster är att kunna reservera bandbredd till kommande applikationer.<br />

Flera ”basic cycles” av samma längd, men innehållande olika långa- med olika typer av tidsfönster,<br />

kan läggas efter varandra. Dessa bildar då en systemmatris.<br />

Alla noder inom nätverket är programmerade med systemmatrisen, vilket innebär att de vet när de<br />

skall sända respektive kan tänkas få ett meddelande.<br />

För att tidsscheduleringen skall fungera korrekt måste noderna synkroniseras noggrant.<br />

Synkroniseringen sker kring en tidsmasternod som backas upp av en eller flera redundanta noder som<br />

omedelbart tar över om mastern faller ifrån. Början av varje basic cycle definieras av att tidsmastern<br />

skickar ett tidsreferensmeddelande.<br />

Figur 5.6 Synkronisering av nod<br />

Varje nod är försedd med en klocka som anger lokal tid (local Time). Vid varje mottaget eller sänt<br />

meddelandes synkroniseringsbit sparas automatiskt värdet på den lokala tiden undan i ett register som<br />

heter Sync_Mark (se fig 5.6 ovan). Om meddelandet visar sig vara ett giltigt tidsreferensmeddelande<br />

sparas värdet i Sync_Mark undan till ett register vid namn Ref_Mark. En variabel vid namn Cycle<br />

Time (Cycle Time=Local Time-Ref_Mark) visar sedan hur lång tid som, vid ett givet tillfälle, förflutit<br />

i den aktuella cykeln. Noden jämför sedan värdet i Cycle Time mot systemmatrisen i syfte att se vad<br />

den förväntas vidta för åtgärder.<br />

TTCAN kan också distribuera en global tid. Mastern skickar då ett meddelande vid namn<br />

Master_Ref_Mark, som är en kopia av tidsmasterns lokala tid då Ref_Mark skickades. I den enskilda<br />

noden jämförs sedan (se fig 5.7 nedan) nodens egna Ref_Mark med Master_Ref_Mark varefter felet<br />

(Local_Offset) läggs till/dras ifrån den lokala tiden, vilken sedan kommer att visa samma tid som<br />

tidsmastern.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!