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.

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

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

Saved successfully!

Ooh no, something went wrong!