Een korte beschrijving van de functies van elke laag van de Bluetooth-protocolstack

Over het algemeen noemen we de implementatiecode van een bepaald protocol een protocolstack. De Bluetooth-protocolstack is de code waarmee het Bluetooth-protocol met laag stroomverbruik wordt geïmplementeerd. Inzicht in en beheersing van het Bluetooth-protocol zijn een voorwaarde voor het implementeren van de Bluetooth-protocolstack. De Bluetooth-protocolstack is onderverdeeld in: de gebruikslaag, de hoofdprotocollaag en de besturingslaag.

Een korte beschrijving van de functies van elke laag van de Bluetooth-protocolstack

1. Besturingslaag

PHY: Fysieke laag, die voornamelijk verantwoordelijk is voor het specificeren van de draadloze frequentieband van BLE, de modulatie- en demodulatiemethoden, enz. Deze laag bepaalt rechtstreeks de gevoeligheid van de BLE-chip ten aanzien van het stroomverbruik.

LL: Linklaag (midden van de protocolstack); deze laag fungeert als RF-controller en wordt gebruikt om de radiofrequentietoestand van het apparaat te regelen. Het aangestuurde apparaat bevindt zich in een van de vijf statussen: stand-by (voorbereiding), advertising (uitzenden), scanning (monitoren/scannen), initiating (verbinding aanbevolen), connected (reeds verbonden). De overgang tussen de vijf toestanden wordt als volgt beschreven: ‘advertising’ (uitzenden) kan gegevens verzenden zonder verbinding (laat iedereen weten: ik ben hier);

Het scannen (monitoren/scannen) van gegevens uit de uitzending; de initiator (initiator) reageert op de uitzender met een verbindingsverzoek (connection request). Als de adverteerder (uitzender) instemt met het verzoek, gaan de uitzender en de initiator over naar de verbonden toestand. In dit geval wordt het apparaat dat voor de verbinding wordt aanbevolen de master (host), en wordt het apparaat dat het verbindingsverzoek ontvangt de slave (slave).

HCI: Host Control Interface (optioneel), standaardcommunicatieprotocol en communicatie-instructies tussen twee chips. Deze laag kan worden geïmplementeerd via een software-API of via hardware-interfaces, zoals UART, SPI en USB.

2. hoofdprotocollaag

GAP: Generic Access Profile: Dit is een interface die rechtstreeks communiceert met applicaties of profielen, zorgt voor het detecteren van apparaten en verbindingsgerelateerde diensten, en tevens de initialisatie van beveiligingsfuncties afhandelt. Het biedt applicatieprogramma-interfaces aan hogere lagen en beheert intelligente onderdelen op alle niveaus ten behoeve van hogere lagen, waarbij het met name de LL-laagcontroller opdracht geeft om tussen 5 toestanden te schakelen. GAP wordt momenteel voornamelijk gebruikt voor het uitzenden, scannen en tot stand brengen van verbindingen.

L2CAP: Logical Link Control and Adaptation Protocol, dat LL inkapselen. De LL-laag onderscheidt de daadwerkelijke transmissiegegevens. L2CAP houdt in de gaten of het om een versleuteld kanaal of een normaal kanaal gaat en beheert de verbindingsafstand.

SMP: Secure Management Protocol, zorgt voor BLE-versleuteling en -beveiliging. Hierin worden de methoden voor koppeling en sleutelverdeling vastgelegd. Daarnaast biedt het diensten voor veilige verbindingen en gegevensuitwisseling tussen andere lagen van de protocolstack en andere apparaten.

ATT: Attribuutprotocol, dat gebruikersinstructies en gegevensvariabelen voor instructiebewerkingen definieert. ATT wordt gebruikt om een stukje gegevens te beschrijven.

GATT: General Attribute Protocol-laag, waarmee apparaten een specifiek stukje data, een zogenaamd “attribuut”, aan andere apparaten kunnen presenteren. In de ATT-omgeving wordt het apparaat dat “kenmerken” vertoont de server genoemd, en het daarmee gekoppelde apparaat de client. De status van de verbindingslaag (master en slave) en het ATT-karakter van het apparaat staan los van elkaar. Het hostapparaat kan bijvoorbeeld zowel een ATT-server als een ATT-client zijn. Het slave-apparaat kan een ATT-client of een ATT-server zijn.

3. Gebruik lagen

Met inbegrip van openbare taken zoals gedefinieerd door de SIG Bluetooth-protocolgroep en privétaakjes zoals gedefinieerd door gebruikers. Trefwoorden: 16-kanaals IO-besturing

↑