• No results found

Baseband Layer

In document Aktivt balanserad cykel (Page 147-151)

Innehållsförteckning

2.2 Bluetooth Protocol Stack

2.2.2 Baseband Layer

Här sker administrationen av fysiska länkar mellan moduler så som Synchronous Connection-oriented Link (SCO) och Asynchronous Connection-oriented Link (ACL) men även autenticering och omställning till page och inquiry mode som används för att hitta och ansluta till närliggande moduler. Det är helt enkelt Basebandlagret som är ansvarigt för upprätthållandet av radiokontakten genom att ta emot och sända data via den fysiska länken.

Bluetooth - Fördjupningsarbete i Mekatronik Kim Öberg

Fysiska länkar och piconets

När en blåtandsmodul ansluter till en annan modul (för en mer detaljerad beskrivning av hur detta sker se stycke ”Inquiry/paging”) upprättas en fysisk länk mellan respektive moduls radiolager som administreras av basebandlagret, denna kommer i två varianter, SCO och ACL.

SCO är en symmetrisk länk mellan två moduler, en master och en slave, alltså ett singulärt piconet, där data utbyts periodiskt. Anslutningen sker med circuit switching vilket betyder att den upprättade kanalen bara kan användas exklusivt av de moduler som upprättat anslutningen och att kanalen fortsätter att vara reserverad tills datasändningen är avslutad och länken nedkopplad.

Precis såhär fungerar det vanliga telefonsystemet där varje samtal mellan två telefoner utgör en reserverad (upptagen) länk under hela samtalet och just därför används SCO-länkarna hos blåtandsmoduler framför allt till röstdata. Värt att notera är att om paket försvinner på vägen eller innehåller fel skickas de aldrig om eftersom paketen, till skillnad från vid ACL, inte innehåller felkontroller.

När en master däremot ska ansluta till flertalet slaves i ett större piconet (s.k. extended piconet) används istället en ACL-länk. Dessa använder packet switching, dvs. data delas upp i mindre bitar, skickas på olika vägar (vi använder inte längre en reserverad statisk länk som vid circuit switching) och kompileras sedan vid ankomst ihop till originalmeddelandet. Den här tekniken är vanlig när man behöver robust och effektiv datasändning men som som klarar lite förseningar (fungerar alltså inte med audio/video) som t.ex. email och websidor. Eftersom det inte finns en reserverad länk för sändningen som kopplas ned när denna är över används istället en time-out som efter 20 sekunders inaktivitet (default) kopplar ned länken.

Det finns alltså 3 olika sorters nätverk som blåtandsmoduler kan upprätta (se figur 2 nedan):

• Piconet: Länk mellan en master och en slave.

• Extended piconet: Länkar mellan en master och flertalet slaves.

• Scatternet: Flera sammanlänkade piconets där vissa moduler alternerar roller (master/slave) beroende på vilket piconet de är aktiva i för tillfället.

Figur 3. De olika nätverk en blåtandsenheten kan upprätta: piconet, extended piconet och scatternet.

Paket

I ett piconet bestäms frekvenshoppsekvensen av master-modulens interna klocka som tickar med ett intervall på 312,5 µs och mot denna är alla slaves synkroniserade. Vidare är kanalerna mellan modulerna uppdelade i så kallade slots där varje slot motsvarar två klocktick, alltså 625 µs, och där mastern skickar paket i jämna slots och tar emot paket i ojämna (se Figur 4. Master skickar paket i jämna slots och slaves i ojämna.).

Bluetooth - Fördjupningsarbete i Mekatronik Kim Öberg

9 Figur 4. Master skickar paket i jämna slots och slaves i ojämna.

Omvänt gäller för slaves och eftersom paket bara får skickas i antingen udda eller jämna slots kan paketlängden endast uppta 1, 3 eller 5 slots, se figur 5.

Figur 5. Paketlängden uppgår till 1, 3 eller 5 slots.

Vidare består varje paket av tre delar, se figur 6.

• Access code: Används för synkroniseringstajming samt paging/inquiry mode och finns i tre varianter: Channel Access Code, CAC, som identifierar ett specifikt piconet och härleds från mastermodulens blåtandsadress, Device Access Code, DAC, som används vid paging och Inquiry Access Code, IAC, som används vid inquiry mode.

• Header: Innehåller: adressen till slavemodulen/modulerna, en parameter för att stoppa flödet på ACL-länken samt header-error check.

• Payload: Innehåller datafält, röstfält eller både och.

Figur 6. Ett pakets ingående olika delar

Inquiry/paging

En blåtandsmodul befinner sig normalt i ett av två huvudtillstånd: Standby eller Connection.

Standby är default- och strömsparläge och när modulen befinner sig i detta tillstånd sker ingen interaktion med andra enheter över huvud taget. Motsatsen är Connection-tillståndet när datautbyte sker mellan en master och slave.

Under dessa två huvudtillstånd återfinns sju andra tillstånd som används för att lägga till slavemoduler eller upprätta anslutningar i ett piconet, nämligen: page, page scan, inquiry, inquiry scan, master response, slave response och inquiry response.

Bluetooth - Fördjupningsarbete i Mekatronik Kim Öberg

När en modul vill ansluta till en annan modul sker detta genom följande inquiry-procedur:

• Om inget är känt om eventuellt närliggande moduler måste modul A först försätta sig i tillståndet inquiry och därmed skicka ut så kallade inquiry-paket i hopp om att en annan modul uppfattar dessa och svarar. Detta sker fort och på en rad olika hoppfrekvenser eftersom inquiry-paketen är mycket små. Hoppfrekvensen kan således ökas från 1600 hopp/sek till 3200 hopp/sek.

• Men för att det ska vara möjligt måste modul B befinna sig i inquiry scan-tillståndet för att kunna ta emot inquiry-paketet, byta tillstånd till inquiry response och skicka tillbaka ett svarspaket.

När dessa steg genomförts med lyckat resultat kan en länk mellan modul A och B upprättas genom att gå igenom en paging-procedur. Det enda som krävs nu för att starta länken är den andra modulens blåtandsadress, är dessutom klockan känd går allt ännu smidigare. Värt att notera är att det är den modul som initierar page-proceduren som automatisk iklär sig rollen som master.

Såhär går paging-proceduren till:

• Modul A försätter sig i tillståndet page och skickar ett page-paket till modul B.

• Modul B befinner sig i page scan-tillståndet och kan därmed ta emot paketet. Sedan byter modul B tillstånd till slave response och skickar ett svar till modul A.

• Modul A, som nu befinner sig i master response-tillståndet, tar emot svaret och skickar tillbaka ett FHS-paket till modul B som innehåller mastermodulens adress och klocka.

Detta illustreras i figur 7 nedan.

• Modul B svarar sedan för andra gången på modul A:s paket och synkroniserar sig därefter med modul A:s, mastermodulens, interna klocka och frekvenshoppsekvens.

Figur 7. Mastermodulen skickar page-paket, Slavemodulen svarar och får sedan tillbaka ett FHS-paket från Mastern.

Bluetooth - Fördjupningsarbete i Mekatronik Kim Öberg

11

När denna länk väl är upprättad kan de två modulerna befinna sig i ett av fyra lägen: Active, Hold, Sniff och Park, se figur 8:

• Active: Modulen deltar aktivt på den upprättade kanalen. I det här läget

schemalägger mastermodulen

datasändningarna baserat på information från de olika Smodulerna i aktuellt piconet.

Vidare stöds även regelbundna sändningar för att säkerhetsställa synkroniseringen i nätverket. Aktiva slavemoduler lyssnar kontinuerligt efter information från mastermodulen i jämna slots i detta tillstånd.

• Sniff: Strömsparläge. I detta tillstånd lyssnar slavemodulen på valt piconet med lägre intensitet och sänker således sin dutycycle.

• Hold: Strömsparläge. Antingen försätter en mastermodul en slavemodul i detta läge eller så begär en slavemodul att försättas i hold-läge. När hold-läget är aktivt tickar endast den interna timern.

• Park: Det effektivaste strömsparläget.

Slavemodulen är fortfarande synkroniserad

med aktuellt piconet men deltar inte i trafiken och måste således av och till lyssna efter trafik från master för att behålla synkroniseringen med masterns klocka.

In document Aktivt balanserad cykel (Page 147-151)

Related documents