Untitled - MRTC
Untitled - MRTC
Untitled - MRTC
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.