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.
NOD<br />
A<br />
Intern realtidskommunikation i framtida Svenska satelliter sid 19<br />
Martin Normark<br />
5 Kort beskrivning av befintliga nätverk som kan komma<br />
ifråga<br />
5.1 CAN<br />
Can används idag i satelliten SMART-1 [1] och utgör såväl payload- som systembuss. CAN som är<br />
utvecklat av BOSCH som ett inbäddat nätverk för bilar, sprids nu mycket snabbt även bland<br />
användare utanför bilindustrin. Anledningarna till dess stora användning är dess robusthet, felsäkerhet<br />
och enkelhet. CAN-controllers finns numera inbyggda i många av de microcontrollers som säljs på<br />
marknaden, varför dessa kan kopplas ihop till ett nätverk utan alltför stort besvär. CAN implementerar<br />
OSI-modellens lager 1-2 och passar bra för korta frekventa kontrollmeddelanden.<br />
5.1.1 Protokoll<br />
CAN är [3] ett distribuerat nätverk, d.v.s. alla noder ingående i nätverket hör vad alla andra noder<br />
sänder.<br />
NOD<br />
B<br />
Figur 5.1 CAN´s topologi<br />
NOD<br />
C<br />
NOD<br />
D<br />
All information sänds i paketform, paketen kallas meddelanden. Meddelandet har ingen explicit adress<br />
utan snarare en ID-kod som beskriver dess innehåll. De noder som är programmerade att läsa en viss<br />
typ av meddelanden gör det, de andra låter bli. En nod kan både lyssna på och sända iväg flera olika<br />
meddelandetyper. ID-koden som är 11 (CAN 2.0A) eller 29 bitar (CAN 2.0B) beskriver även<br />
meddelandets prioritet om flera noder önskar sända samtidigt. Då sker en så kallad arbitrering där<br />
meddelandet med högst prioritet får sända först. Av den anledningen kallas den del av meddelandet<br />
som innehåller ID-koden för arbitreringsfält. Efter arbitreringsfältet följer ett kontrollfält som anger<br />
meddelandets typ och längd, följt av ett datafält. Datafältet innehåller 0-8 bytes data. Efter datafältet<br />
följer en 15 bitars CRC-checksumma som används för feldetektering. Sist kommer en lucka som heter<br />
ACK-slot, i den meddelar de noder som uppfattat -och inte hittat något fel på- meddelandet, detta.<br />
Med andra ord räcker det med att en nod uppfattar meddelandet för att sändarnoden skall uppfatta<br />
meddelandet som uppfattat av alla. Det finns dock ingen garanti för att den tilltänkta noden verkligen<br />
uppfattat meddelandet.<br />
Figur 5.2 Meddelandepaketets utseende för CAN<br />
Vilken nod som helst kan, om den uppfattar något fel, avbryta pågående sändning varvid sändande<br />
nod avbryter och automatiskt sänder om. Om ingen nod uppfattar meddelandet sänds det också om.<br />
CAN HI<br />
CAN LOW